# Radar # AI # To Markdown ## Convert Files into Markdown `client.Radar.AI.ToMarkdown.New(ctx, params) (*SinglePage[AIToMarkdownNewResponse], error)` **post** `/accounts/{account_id}/ai/tomarkdown` Converts uploaded files into Markdown format using Workers AI. ### Parameters - `params AIToMarkdownNewParams` - `AccountID param.Field[string]` Path param - `Files param.Field[[]Reader]` Body param ### Returns - `type AIToMarkdownNewResponse struct{…}` - `Data string` - `Format string` - `MimeType string` - `Name string` - `Tokens string` ### Example ```go package main import ( "bytes" "context" "fmt" "io" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.Radar.AI.ToMarkdown.New(context.TODO(), radar.AIToMarkdownNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Files: cloudflare.F([]io.Reader{io.Reader(bytes.NewBuffer([]byte("Example data")))}), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "data": "data", "format": "format", "mimeType": "mimeType", "name": "name", "tokens": "tokens" } ], "success": true } ``` # Inference ## Get Workers AI inference distribution by dimension `client.Radar.AI.Inference.SummaryV2(ctx, dimension, query) (*AIInferenceSummaryV2Response, error)` **get** `/radar/ai/inference/summary/{dimension}` Retrieves an aggregated summary of unique accounts using Workers AI inference grouped by the specified dimension. ### Parameters - `dimension AIInferenceSummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const AIInferenceSummaryV2ParamsDimensionModel AIInferenceSummaryV2ParamsDimension = "MODEL"` - `const AIInferenceSummaryV2ParamsDimensionTask AIInferenceSummaryV2ParamsDimension = "TASK"` - `query AIInferenceSummaryV2Params` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceSummaryV2ParamsFormat]` Format in which results will be returned. - `const AIInferenceSummaryV2ParamsFormatJson AIInferenceSummaryV2ParamsFormat = "JSON"` - `const AIInferenceSummaryV2ParamsFormatCsv AIInferenceSummaryV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIInferenceSummaryV2Response struct{…}` - `Meta AIInferenceSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo AIInferenceSummaryV2ResponseMetaConfidenceInfo` - `Annotations []AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceSummaryV2ResponseMetaNormalizationPercentage AIInferenceSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceSummaryV2ResponseMetaNormalizationMin0Max AIInferenceSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceSummaryV2ResponseMetaNormalizationMinMax AIInferenceSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceSummaryV2ResponseMetaNormalizationRawValues AIInferenceSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceSummaryV2ResponseMetaNormalizationPercentageChange AIInferenceSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceSummaryV2ResponseMetaNormalizationRollingAverage AIInferenceSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceSummaryV2ResponseMetaNormalizationOverlappedPercentage AIInferenceSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceSummaryV2ResponseMetaNormalizationRatio AIInferenceSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []AIInferenceSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.SummaryV2( context.TODO(), radar.AIInferenceSummaryV2ParamsDimensionModel, radar.AIInferenceSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "@cf/meta/llama-3-8b-instruct": "8.381743", "@cf/meta/m2m100-1.2b": "22.904", "@cf/stabilityai/stable-diffusion-xl-base-1.0": "10.274394" } }, "success": true } ``` ## Get time series distribution of Workers AI inference by dimension. `client.Radar.AI.Inference.TimeseriesGroupsV2(ctx, dimension, query) (*AIInferenceTimeseriesGroupsV2Response, error)` **get** `/radar/ai/inference/timeseries_groups/{dimension}` Retrieves the distribution of unique accounts using Workers AI inference, grouped by the specified dimension over time. ### Parameters - `dimension AIInferenceTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const AIInferenceTimeseriesGroupsV2ParamsDimensionModel AIInferenceTimeseriesGroupsV2ParamsDimension = "MODEL"` - `const AIInferenceTimeseriesGroupsV2ParamsDimensionTask AIInferenceTimeseriesGroupsV2ParamsDimension = "TASK"` - `query AIInferenceTimeseriesGroupsV2Params` - `AggInterval param.Field[AIInferenceTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const AIInferenceTimeseriesGroupsV2ParamsAggInterval15m AIInferenceTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const AIInferenceTimeseriesGroupsV2ParamsAggInterval1h AIInferenceTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const AIInferenceTimeseriesGroupsV2ParamsAggInterval1d AIInferenceTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const AIInferenceTimeseriesGroupsV2ParamsAggInterval1w AIInferenceTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const AIInferenceTimeseriesGroupsV2ParamsFormatJson AIInferenceTimeseriesGroupsV2ParamsFormat = "JSON"` - `const AIInferenceTimeseriesGroupsV2ParamsFormatCsv AIInferenceTimeseriesGroupsV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AIInferenceTimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceTimeseriesGroupsV2ParamsNormalizationPercentage AIInferenceTimeseriesGroupsV2ParamsNormalization = "PERCENTAGE"` - `const AIInferenceTimeseriesGroupsV2ParamsNormalizationMin0Max AIInferenceTimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` ### Returns - `type AIInferenceTimeseriesGroupsV2Response struct{…}` - `Meta AIInferenceTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const AIInferenceTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaAggIntervalOneHour AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaAggIntervalOneDay AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth AIInferenceTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationPercentage AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationMin0Max AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationMinMax AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationRawValues AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceTimeseriesGroupsV2ResponseMetaNormalizationRatio AIInferenceTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []AIInferenceTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AIInferenceTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.TimeseriesGroupsV2( context.TODO(), radar.AIInferenceTimeseriesGroupsV2ParamsDimensionModel, radar.AIInferenceTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get Workers AI models summary `client.Radar.AI.Inference.Summary.Model(ctx, query) (*AIInferenceSummaryModelResponse, error)` **get** `/radar/ai/inference/summary/model` Retrieves the distribution of unique accounts by model. ### Parameters - `query AIInferenceSummaryModelParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceSummaryModelParamsFormat]` Format in which results will be returned. - `const AIInferenceSummaryModelParamsFormatJson AIInferenceSummaryModelParamsFormat = "JSON"` - `const AIInferenceSummaryModelParamsFormatCsv AIInferenceSummaryModelParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIInferenceSummaryModelResponse struct{…}` - `Meta AIInferenceSummaryModelResponseMeta` Metadata for the results. - `ConfidenceInfo AIInferenceSummaryModelResponseMetaConfidenceInfo` - `Annotations []AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceSummaryModelResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceSummaryModelResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceSummaryModelResponseMetaNormalizationPercentage AIInferenceSummaryModelResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceSummaryModelResponseMetaNormalizationMin0Max AIInferenceSummaryModelResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceSummaryModelResponseMetaNormalizationMinMax AIInferenceSummaryModelResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceSummaryModelResponseMetaNormalizationRawValues AIInferenceSummaryModelResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceSummaryModelResponseMetaNormalizationPercentageChange AIInferenceSummaryModelResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceSummaryModelResponseMetaNormalizationRollingAverage AIInferenceSummaryModelResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceSummaryModelResponseMetaNormalizationOverlappedPercentage AIInferenceSummaryModelResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceSummaryModelResponseMetaNormalizationRatio AIInferenceSummaryModelResponseMetaNormalization = "RATIO"` - `Units []AIInferenceSummaryModelResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.Summary.Model(context.TODO(), radar.AIInferenceSummaryModelParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "@cf/meta/llama-3-8b-instruct": "8.381743", "@cf/meta/m2m100-1.2b": "22.904", "@cf/stabilityai/stable-diffusion-xl-base-1.0": "10.274394" } }, "success": true } ``` ## Get Workers AI tasks summary `client.Radar.AI.Inference.Summary.Task(ctx, query) (*AIInferenceSummaryTaskResponse, error)` **get** `/radar/ai/inference/summary/task` Retrieves the distribution of unique accounts by task. ### Parameters - `query AIInferenceSummaryTaskParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceSummaryTaskParamsFormat]` Format in which results will be returned. - `const AIInferenceSummaryTaskParamsFormatJson AIInferenceSummaryTaskParamsFormat = "JSON"` - `const AIInferenceSummaryTaskParamsFormatCsv AIInferenceSummaryTaskParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIInferenceSummaryTaskResponse struct{…}` - `Meta AIInferenceSummaryTaskResponseMeta` Metadata for the results. - `ConfidenceInfo AIInferenceSummaryTaskResponseMetaConfidenceInfo` - `Annotations []AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceSummaryTaskResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceSummaryTaskResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceSummaryTaskResponseMetaNormalizationPercentage AIInferenceSummaryTaskResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceSummaryTaskResponseMetaNormalizationMin0Max AIInferenceSummaryTaskResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceSummaryTaskResponseMetaNormalizationMinMax AIInferenceSummaryTaskResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceSummaryTaskResponseMetaNormalizationRawValues AIInferenceSummaryTaskResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceSummaryTaskResponseMetaNormalizationPercentageChange AIInferenceSummaryTaskResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceSummaryTaskResponseMetaNormalizationRollingAverage AIInferenceSummaryTaskResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceSummaryTaskResponseMetaNormalizationOverlappedPercentage AIInferenceSummaryTaskResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceSummaryTaskResponseMetaNormalizationRatio AIInferenceSummaryTaskResponseMetaNormalization = "RATIO"` - `Units []AIInferenceSummaryTaskResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.Summary.Task(context.TODO(), radar.AIInferenceSummaryTaskParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "text generation": "10.274394", "text-to-image": "22.904" } }, "success": true } ``` # Timeseries Groups # Summary ## Get Workers AI models time series `client.Radar.AI.Inference.TimeseriesGroups.Summary.Model(ctx, query) (*AIInferenceTimeseriesGroupSummaryModelResponse, error)` **get** `/radar/ai/inference/timeseries_groups/model` Retrieves the distribution of unique accounts by model over time. ### Parameters - `query AIInferenceTimeseriesGroupSummaryModelParams` - `AggInterval param.Field[AIInferenceTimeseriesGroupSummaryModelParamsAggInterval]` 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/). - `const AIInferenceTimeseriesGroupSummaryModelParamsAggInterval15m AIInferenceTimeseriesGroupSummaryModelParamsAggInterval = "15m"` - `const AIInferenceTimeseriesGroupSummaryModelParamsAggInterval1h AIInferenceTimeseriesGroupSummaryModelParamsAggInterval = "1h"` - `const AIInferenceTimeseriesGroupSummaryModelParamsAggInterval1d AIInferenceTimeseriesGroupSummaryModelParamsAggInterval = "1d"` - `const AIInferenceTimeseriesGroupSummaryModelParamsAggInterval1w AIInferenceTimeseriesGroupSummaryModelParamsAggInterval = "1w"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceTimeseriesGroupSummaryModelParamsFormat]` Format in which results will be returned. - `const AIInferenceTimeseriesGroupSummaryModelParamsFormatJson AIInferenceTimeseriesGroupSummaryModelParamsFormat = "JSON"` - `const AIInferenceTimeseriesGroupSummaryModelParamsFormatCsv AIInferenceTimeseriesGroupSummaryModelParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIInferenceTimeseriesGroupSummaryModelResponse struct{…}` - `Meta AIInferenceTimeseriesGroupSummaryModelResponseMeta` Metadata for the results. - `AggInterval AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval` 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/). - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaAggIntervalFifteenMinutes AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaAggIntervalOneHour AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval = "ONE_HOUR"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaAggIntervalOneDay AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval = "ONE_DAY"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaAggIntervalOneWeek AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval = "ONE_WEEK"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaAggIntervalOneMonth AIInferenceTimeseriesGroupSummaryModelResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfo` - `Annotations []AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceTimeseriesGroupSummaryModelResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceTimeseriesGroupSummaryModelResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationPercentage AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationMin0Max AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationMinMax AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationRawValues AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationPercentageChange AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationRollingAverage AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationOverlappedPercentage AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalizationRatio AIInferenceTimeseriesGroupSummaryModelResponseMetaNormalization = "RATIO"` - `Units []AIInferenceTimeseriesGroupSummaryModelResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AIInferenceTimeseriesGroupSummaryModelResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.TimeseriesGroups.Summary.Model(context.TODO(), radar.AIInferenceTimeseriesGroupSummaryModelParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 Workers AI tasks time series `client.Radar.AI.Inference.TimeseriesGroups.Summary.Task(ctx, query) (*AIInferenceTimeseriesGroupSummaryTaskResponse, error)` **get** `/radar/ai/inference/timeseries_groups/task` Retrieves the distribution of unique accounts by task over time. ### Parameters - `query AIInferenceTimeseriesGroupSummaryTaskParams` - `AggInterval param.Field[AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval]` 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/). - `const AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval15m AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval = "15m"` - `const AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval1h AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval = "1h"` - `const AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval1d AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval = "1d"` - `const AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval1w AIInferenceTimeseriesGroupSummaryTaskParamsAggInterval = "1w"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIInferenceTimeseriesGroupSummaryTaskParamsFormat]` Format in which results will be returned. - `const AIInferenceTimeseriesGroupSummaryTaskParamsFormatJson AIInferenceTimeseriesGroupSummaryTaskParamsFormat = "JSON"` - `const AIInferenceTimeseriesGroupSummaryTaskParamsFormatCsv AIInferenceTimeseriesGroupSummaryTaskParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIInferenceTimeseriesGroupSummaryTaskResponse struct{…}` - `Meta AIInferenceTimeseriesGroupSummaryTaskResponseMeta` Metadata for the results. - `AggInterval AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval` 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/). - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggIntervalFifteenMinutes AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggIntervalOneHour AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval = "ONE_HOUR"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggIntervalOneDay AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval = "ONE_DAY"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggIntervalOneWeek AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval = "ONE_WEEK"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggIntervalOneMonth AIInferenceTimeseriesGroupSummaryTaskResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfo` - `Annotations []AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotation` - `DataSource AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAll AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceBots AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceCT AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceDos AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceFw AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceNet AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIInferenceTimeseriesGroupSummaryTaskResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIInferenceTimeseriesGroupSummaryTaskResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationPercentage AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "PERCENTAGE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationMin0Max AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "MIN0_MAX"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationMinMax AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "MIN_MAX"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationRawValues AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "RAW_VALUES"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationPercentageChange AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationRollingAverage AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationOverlappedPercentage AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalizationRatio AIInferenceTimeseriesGroupSummaryTaskResponseMetaNormalization = "RATIO"` - `Units []AIInferenceTimeseriesGroupSummaryTaskResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AIInferenceTimeseriesGroupSummaryTaskResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Inference.TimeseriesGroups.Summary.Task(context.TODO(), radar.AIInferenceTimeseriesGroupSummaryTaskParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Bots ## Get AI bots HTTP requests distribution by dimension `client.Radar.AI.Bots.SummaryV2(ctx, dimension, query) (*AIBotSummaryV2Response, error)` **get** `/radar/ai/bots/summary/{dimension}` Retrieves an aggregated summary of AI bots HTTP requests grouped by the specified dimension. ### Parameters - `dimension AIBotSummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const AIBotSummaryV2ParamsDimensionUserAgent AIBotSummaryV2ParamsDimension = "USER_AGENT"` - `const AIBotSummaryV2ParamsDimensionCrawlPurpose AIBotSummaryV2ParamsDimension = "CRAWL_PURPOSE"` - `const AIBotSummaryV2ParamsDimensionIndustry AIBotSummaryV2ParamsDimension = "INDUSTRY"` - `const AIBotSummaryV2ParamsDimensionVertical AIBotSummaryV2ParamsDimension = "VERTICAL"` - `const AIBotSummaryV2ParamsDimensionContentType AIBotSummaryV2ParamsDimension = "CONTENT_TYPE"` - `query AIBotSummaryV2Params` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AIBotSummaryV2ParamsContentType]` Filters results by content type category. - `const AIBotSummaryV2ParamsContentTypeHTML AIBotSummaryV2ParamsContentType = "HTML"` - `const AIBotSummaryV2ParamsContentTypeImages AIBotSummaryV2ParamsContentType = "IMAGES"` - `const AIBotSummaryV2ParamsContentTypeJson AIBotSummaryV2ParamsContentType = "JSON"` - `const AIBotSummaryV2ParamsContentTypeJavascript AIBotSummaryV2ParamsContentType = "JAVASCRIPT"` - `const AIBotSummaryV2ParamsContentTypeCSS AIBotSummaryV2ParamsContentType = "CSS"` - `const AIBotSummaryV2ParamsContentTypePlainText AIBotSummaryV2ParamsContentType = "PLAIN_TEXT"` - `const AIBotSummaryV2ParamsContentTypeFonts AIBotSummaryV2ParamsContentType = "FONTS"` - `const AIBotSummaryV2ParamsContentTypeXml AIBotSummaryV2ParamsContentType = "XML"` - `const AIBotSummaryV2ParamsContentTypeYaml AIBotSummaryV2ParamsContentType = "YAML"` - `const AIBotSummaryV2ParamsContentTypeVideo AIBotSummaryV2ParamsContentType = "VIDEO"` - `const AIBotSummaryV2ParamsContentTypeAudio AIBotSummaryV2ParamsContentType = "AUDIO"` - `const AIBotSummaryV2ParamsContentTypeMarkdown AIBotSummaryV2ParamsContentType = "MARKDOWN"` - `const AIBotSummaryV2ParamsContentTypeDocuments AIBotSummaryV2ParamsContentType = "DOCUMENTS"` - `const AIBotSummaryV2ParamsContentTypeBinary AIBotSummaryV2ParamsContentType = "BINARY"` - `const AIBotSummaryV2ParamsContentTypeSerialization AIBotSummaryV2ParamsContentType = "SERIALIZATION"` - `const AIBotSummaryV2ParamsContentTypeOther AIBotSummaryV2ParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIBotSummaryV2ParamsFormat]` Format in which results will be returned. - `const AIBotSummaryV2ParamsFormatJson AIBotSummaryV2ParamsFormat = "JSON"` - `const AIBotSummaryV2ParamsFormatCsv AIBotSummaryV2ParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AIBotSummaryV2Response struct{…}` - `Meta AIBotSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo AIBotSummaryV2ResponseMetaConfidenceInfo` - `Annotations []AIBotSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIBotSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIBotSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIBotSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIBotSummaryV2ResponseMetaNormalizationPercentage AIBotSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const AIBotSummaryV2ResponseMetaNormalizationMin0Max AIBotSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const AIBotSummaryV2ResponseMetaNormalizationMinMax AIBotSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const AIBotSummaryV2ResponseMetaNormalizationRawValues AIBotSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const AIBotSummaryV2ResponseMetaNormalizationPercentageChange AIBotSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIBotSummaryV2ResponseMetaNormalizationRollingAverage AIBotSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIBotSummaryV2ResponseMetaNormalizationOverlappedPercentage AIBotSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIBotSummaryV2ResponseMetaNormalizationRatio AIBotSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []AIBotSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Bots.SummaryV2( context.TODO(), radar.AIBotSummaryV2ParamsDimensionUserAgent, radar.AIBotSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Amazonbot": "10.274394", "Bytespider": "8.381743", "facebookexternalhit": "63.40249" } }, "success": true } ``` ## Get AI bots HTTP requests time series `client.Radar.AI.Bots.Timeseries(ctx, query) (*AIBotTimeseriesResponse, error)` **get** `/radar/ai/bots/timeseries` Retrieves AI bots HTTP request volume over time. ### Parameters - `query AIBotTimeseriesParams` - `AggInterval param.Field[AIBotTimeseriesParamsAggInterval]` 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/). - `const AIBotTimeseriesParamsAggInterval15m AIBotTimeseriesParamsAggInterval = "15m"` - `const AIBotTimeseriesParamsAggInterval1h AIBotTimeseriesParamsAggInterval = "1h"` - `const AIBotTimeseriesParamsAggInterval1d AIBotTimeseriesParamsAggInterval = "1d"` - `const AIBotTimeseriesParamsAggInterval1w AIBotTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AIBotTimeseriesParamsContentType]` Filters results by content type category. - `const AIBotTimeseriesParamsContentTypeHTML AIBotTimeseriesParamsContentType = "HTML"` - `const AIBotTimeseriesParamsContentTypeImages AIBotTimeseriesParamsContentType = "IMAGES"` - `const AIBotTimeseriesParamsContentTypeJson AIBotTimeseriesParamsContentType = "JSON"` - `const AIBotTimeseriesParamsContentTypeJavascript AIBotTimeseriesParamsContentType = "JAVASCRIPT"` - `const AIBotTimeseriesParamsContentTypeCSS AIBotTimeseriesParamsContentType = "CSS"` - `const AIBotTimeseriesParamsContentTypePlainText AIBotTimeseriesParamsContentType = "PLAIN_TEXT"` - `const AIBotTimeseriesParamsContentTypeFonts AIBotTimeseriesParamsContentType = "FONTS"` - `const AIBotTimeseriesParamsContentTypeXml AIBotTimeseriesParamsContentType = "XML"` - `const AIBotTimeseriesParamsContentTypeYaml AIBotTimeseriesParamsContentType = "YAML"` - `const AIBotTimeseriesParamsContentTypeVideo AIBotTimeseriesParamsContentType = "VIDEO"` - `const AIBotTimeseriesParamsContentTypeAudio AIBotTimeseriesParamsContentType = "AUDIO"` - `const AIBotTimeseriesParamsContentTypeMarkdown AIBotTimeseriesParamsContentType = "MARKDOWN"` - `const AIBotTimeseriesParamsContentTypeDocuments AIBotTimeseriesParamsContentType = "DOCUMENTS"` - `const AIBotTimeseriesParamsContentTypeBinary AIBotTimeseriesParamsContentType = "BINARY"` - `const AIBotTimeseriesParamsContentTypeSerialization AIBotTimeseriesParamsContentType = "SERIALIZATION"` - `const AIBotTimeseriesParamsContentTypeOther AIBotTimeseriesParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIBotTimeseriesParamsFormat]` Format in which results will be returned. - `const AIBotTimeseriesParamsFormatJson AIBotTimeseriesParamsFormat = "JSON"` - `const AIBotTimeseriesParamsFormatCsv AIBotTimeseriesParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AIBotTimeseriesResponse struct{…}` - `Meta AIBotTimeseriesResponseMeta` Metadata for the results. - `AggInterval AIBotTimeseriesResponseMetaAggInterval` 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/). - `const AIBotTimeseriesResponseMetaAggIntervalFifteenMinutes AIBotTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AIBotTimeseriesResponseMetaAggIntervalOneHour AIBotTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const AIBotTimeseriesResponseMetaAggIntervalOneDay AIBotTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const AIBotTimeseriesResponseMetaAggIntervalOneWeek AIBotTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const AIBotTimeseriesResponseMetaAggIntervalOneMonth AIBotTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AIBotTimeseriesResponseMetaConfidenceInfo` - `Annotations []AIBotTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIBotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIBotTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIBotTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIBotTimeseriesResponseMetaNormalizationPercentage AIBotTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const AIBotTimeseriesResponseMetaNormalizationMin0Max AIBotTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const AIBotTimeseriesResponseMetaNormalizationMinMax AIBotTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const AIBotTimeseriesResponseMetaNormalizationRawValues AIBotTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const AIBotTimeseriesResponseMetaNormalizationPercentageChange AIBotTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIBotTimeseriesResponseMetaNormalizationRollingAverage AIBotTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIBotTimeseriesResponseMetaNormalizationOverlappedPercentage AIBotTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIBotTimeseriesResponseMetaNormalizationRatio AIBotTimeseriesResponseMetaNormalization = "RATIO"` - `Units []AIBotTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Bots.Timeseries(context.TODO(), radar.AIBotTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 time series distribution of AI bots HTTP requests by dimension. `client.Radar.AI.Bots.TimeseriesGroups(ctx, dimension, query) (*AIBotTimeseriesGroupsResponse, error)` **get** `/radar/ai/bots/timeseries_groups/{dimension}` Retrieves the distribution of HTTP requests from AI bots, grouped by the specified dimension over time. ### Parameters - `dimension AIBotTimeseriesGroupsParamsDimension` Specifies the attribute by which to group the results. - `const AIBotTimeseriesGroupsParamsDimensionUserAgent AIBotTimeseriesGroupsParamsDimension = "USER_AGENT"` - `const AIBotTimeseriesGroupsParamsDimensionCrawlPurpose AIBotTimeseriesGroupsParamsDimension = "CRAWL_PURPOSE"` - `const AIBotTimeseriesGroupsParamsDimensionIndustry AIBotTimeseriesGroupsParamsDimension = "INDUSTRY"` - `const AIBotTimeseriesGroupsParamsDimensionVertical AIBotTimeseriesGroupsParamsDimension = "VERTICAL"` - `const AIBotTimeseriesGroupsParamsDimensionContentType AIBotTimeseriesGroupsParamsDimension = "CONTENT_TYPE"` - `query AIBotTimeseriesGroupsParams` - `AggInterval param.Field[AIBotTimeseriesGroupsParamsAggInterval]` 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/). - `const AIBotTimeseriesGroupsParamsAggInterval15m AIBotTimeseriesGroupsParamsAggInterval = "15m"` - `const AIBotTimeseriesGroupsParamsAggInterval1h AIBotTimeseriesGroupsParamsAggInterval = "1h"` - `const AIBotTimeseriesGroupsParamsAggInterval1d AIBotTimeseriesGroupsParamsAggInterval = "1d"` - `const AIBotTimeseriesGroupsParamsAggInterval1w AIBotTimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AIBotTimeseriesGroupsParamsContentType]` Filters results by content type category. - `const AIBotTimeseriesGroupsParamsContentTypeHTML AIBotTimeseriesGroupsParamsContentType = "HTML"` - `const AIBotTimeseriesGroupsParamsContentTypeImages AIBotTimeseriesGroupsParamsContentType = "IMAGES"` - `const AIBotTimeseriesGroupsParamsContentTypeJson AIBotTimeseriesGroupsParamsContentType = "JSON"` - `const AIBotTimeseriesGroupsParamsContentTypeJavascript AIBotTimeseriesGroupsParamsContentType = "JAVASCRIPT"` - `const AIBotTimeseriesGroupsParamsContentTypeCSS AIBotTimeseriesGroupsParamsContentType = "CSS"` - `const AIBotTimeseriesGroupsParamsContentTypePlainText AIBotTimeseriesGroupsParamsContentType = "PLAIN_TEXT"` - `const AIBotTimeseriesGroupsParamsContentTypeFonts AIBotTimeseriesGroupsParamsContentType = "FONTS"` - `const AIBotTimeseriesGroupsParamsContentTypeXml AIBotTimeseriesGroupsParamsContentType = "XML"` - `const AIBotTimeseriesGroupsParamsContentTypeYaml AIBotTimeseriesGroupsParamsContentType = "YAML"` - `const AIBotTimeseriesGroupsParamsContentTypeVideo AIBotTimeseriesGroupsParamsContentType = "VIDEO"` - `const AIBotTimeseriesGroupsParamsContentTypeAudio AIBotTimeseriesGroupsParamsContentType = "AUDIO"` - `const AIBotTimeseriesGroupsParamsContentTypeMarkdown AIBotTimeseriesGroupsParamsContentType = "MARKDOWN"` - `const AIBotTimeseriesGroupsParamsContentTypeDocuments AIBotTimeseriesGroupsParamsContentType = "DOCUMENTS"` - `const AIBotTimeseriesGroupsParamsContentTypeBinary AIBotTimeseriesGroupsParamsContentType = "BINARY"` - `const AIBotTimeseriesGroupsParamsContentTypeSerialization AIBotTimeseriesGroupsParamsContentType = "SERIALIZATION"` - `const AIBotTimeseriesGroupsParamsContentTypeOther AIBotTimeseriesGroupsParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIBotTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const AIBotTimeseriesGroupsParamsFormatJson AIBotTimeseriesGroupsParamsFormat = "JSON"` - `const AIBotTimeseriesGroupsParamsFormatCsv AIBotTimeseriesGroupsParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AIBotTimeseriesGroupsParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIBotTimeseriesGroupsParamsNormalizationPercentage AIBotTimeseriesGroupsParamsNormalization = "PERCENTAGE"` - `const AIBotTimeseriesGroupsParamsNormalizationMin0Max AIBotTimeseriesGroupsParamsNormalization = "MIN0_MAX"` - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AIBotTimeseriesGroupsResponse struct{…}` - `Meta AIBotTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval AIBotTimeseriesGroupsResponseMetaAggInterval` 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/). - `const AIBotTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes AIBotTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AIBotTimeseriesGroupsResponseMetaAggIntervalOneHour AIBotTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const AIBotTimeseriesGroupsResponseMetaAggIntervalOneDay AIBotTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const AIBotTimeseriesGroupsResponseMetaAggIntervalOneWeek AIBotTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const AIBotTimeseriesGroupsResponseMetaAggIntervalOneMonth AIBotTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AIBotTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIBotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIBotTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIBotTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIBotTimeseriesGroupsResponseMetaNormalizationPercentage AIBotTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationMin0Max AIBotTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationMinMax AIBotTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationRawValues AIBotTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationPercentageChange AIBotTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationRollingAverage AIBotTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage AIBotTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIBotTimeseriesGroupsResponseMetaNormalizationRatio AIBotTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []AIBotTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AIBotTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Bots.TimeseriesGroups( context.TODO(), radar.AIBotTimeseriesGroupsParamsDimensionUserAgent, radar.AIBotTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get AI user agents summary `client.Radar.AI.Bots.Summary.UserAgent(ctx, query) (*AIBotSummaryUserAgentResponse, error)` **get** `/radar/ai/bots/summary/user_agent` Retrieves the distribution of traffic by AI user agent. ### Parameters - `query AIBotSummaryUserAgentParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AIBotSummaryUserAgentParamsFormat]` Format in which results will be returned. - `const AIBotSummaryUserAgentParamsFormatJson AIBotSummaryUserAgentParamsFormat = "JSON"` - `const AIBotSummaryUserAgentParamsFormatCsv AIBotSummaryUserAgentParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AIBotSummaryUserAgentResponse struct{…}` - `Meta AIBotSummaryUserAgentResponseMeta` Metadata for the results. - `ConfidenceInfo AIBotSummaryUserAgentResponseMetaConfidenceInfo` - `Annotations []AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotation` - `DataSource AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAll AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceBGP AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceBots AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceCT AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNS AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDos AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceFw AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceIQI AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceNet AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeEvent AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeOutage AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypePipeline AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AIBotSummaryUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AIBotSummaryUserAgentResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AIBotSummaryUserAgentResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AIBotSummaryUserAgentResponseMetaNormalizationPercentage AIBotSummaryUserAgentResponseMetaNormalization = "PERCENTAGE"` - `const AIBotSummaryUserAgentResponseMetaNormalizationMin0Max AIBotSummaryUserAgentResponseMetaNormalization = "MIN0_MAX"` - `const AIBotSummaryUserAgentResponseMetaNormalizationMinMax AIBotSummaryUserAgentResponseMetaNormalization = "MIN_MAX"` - `const AIBotSummaryUserAgentResponseMetaNormalizationRawValues AIBotSummaryUserAgentResponseMetaNormalization = "RAW_VALUES"` - `const AIBotSummaryUserAgentResponseMetaNormalizationPercentageChange AIBotSummaryUserAgentResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AIBotSummaryUserAgentResponseMetaNormalizationRollingAverage AIBotSummaryUserAgentResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AIBotSummaryUserAgentResponseMetaNormalizationOverlappedPercentage AIBotSummaryUserAgentResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AIBotSummaryUserAgentResponseMetaNormalizationRatio AIBotSummaryUserAgentResponseMetaNormalization = "RATIO"` - `Units []AIBotSummaryUserAgentResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.Bots.Summary.UserAgent(context.TODO(), radar.AIBotSummaryUserAgentParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Amazonbot": "10.274394", "Bytespider": "8.381743", "facebookexternalhit": "63.40249" } }, "success": true } ``` # Timeseries Groups ## Get AI user agents time series `client.Radar.AI.TimeseriesGroups.UserAgent(ctx, query) (*AITimeseriesGroupUserAgentResponse, error)` **get** `/radar/ai/bots/timeseries_groups/user_agent` Retrieves the distribution of traffic by AI user agent over time. ### Parameters - `query AITimeseriesGroupUserAgentParams` - `AggInterval param.Field[AITimeseriesGroupUserAgentParamsAggInterval]` 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/). - `const AITimeseriesGroupUserAgentParamsAggInterval15m AITimeseriesGroupUserAgentParamsAggInterval = "15m"` - `const AITimeseriesGroupUserAgentParamsAggInterval1h AITimeseriesGroupUserAgentParamsAggInterval = "1h"` - `const AITimeseriesGroupUserAgentParamsAggInterval1d AITimeseriesGroupUserAgentParamsAggInterval = "1d"` - `const AITimeseriesGroupUserAgentParamsAggInterval1w AITimeseriesGroupUserAgentParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AITimeseriesGroupUserAgentParamsFormat]` Format in which results will be returned. - `const AITimeseriesGroupUserAgentParamsFormatJson AITimeseriesGroupUserAgentParamsFormat = "JSON"` - `const AITimeseriesGroupUserAgentParamsFormatCsv AITimeseriesGroupUserAgentParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AITimeseriesGroupUserAgentResponse struct{…}` - `Meta AITimeseriesGroupUserAgentResponseMeta` Metadata for the results. - `AggInterval AITimeseriesGroupUserAgentResponseMetaAggInterval` 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/). - `const AITimeseriesGroupUserAgentResponseMetaAggIntervalFifteenMinutes AITimeseriesGroupUserAgentResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AITimeseriesGroupUserAgentResponseMetaAggIntervalOneHour AITimeseriesGroupUserAgentResponseMetaAggInterval = "ONE_HOUR"` - `const AITimeseriesGroupUserAgentResponseMetaAggIntervalOneDay AITimeseriesGroupUserAgentResponseMetaAggInterval = "ONE_DAY"` - `const AITimeseriesGroupUserAgentResponseMetaAggIntervalOneWeek AITimeseriesGroupUserAgentResponseMetaAggInterval = "ONE_WEEK"` - `const AITimeseriesGroupUserAgentResponseMetaAggIntervalOneMonth AITimeseriesGroupUserAgentResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AITimeseriesGroupUserAgentResponseMetaConfidenceInfo` - `Annotations []AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotation` - `DataSource AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAll AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceBGP AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceBots AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceCT AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNS AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceDos AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceFw AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceIQI AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceNet AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeEvent AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeOutage AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypePipeline AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AITimeseriesGroupUserAgentResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AITimeseriesGroupUserAgentResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AITimeseriesGroupUserAgentResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AITimeseriesGroupUserAgentResponseMetaNormalizationPercentage AITimeseriesGroupUserAgentResponseMetaNormalization = "PERCENTAGE"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationMin0Max AITimeseriesGroupUserAgentResponseMetaNormalization = "MIN0_MAX"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationMinMax AITimeseriesGroupUserAgentResponseMetaNormalization = "MIN_MAX"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationRawValues AITimeseriesGroupUserAgentResponseMetaNormalization = "RAW_VALUES"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationPercentageChange AITimeseriesGroupUserAgentResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationRollingAverage AITimeseriesGroupUserAgentResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationOverlappedPercentage AITimeseriesGroupUserAgentResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AITimeseriesGroupUserAgentResponseMetaNormalizationRatio AITimeseriesGroupUserAgentResponseMetaNormalization = "RATIO"` - `Units []AITimeseriesGroupUserAgentResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AITimeseriesGroupUserAgentResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.TimeseriesGroups.UserAgent(context.TODO(), radar.AITimeseriesGroupUserAgentParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AI bots HTTP requests distribution by dimension `client.Radar.AI.TimeseriesGroups.Summary(ctx, dimension, query) (*AITimeseriesGroupSummaryResponse, error)` **get** `/radar/ai/bots/summary/{dimension}` Retrieves an aggregated summary of AI bots HTTP requests grouped by the specified dimension. ### Parameters - `dimension AITimeseriesGroupSummaryParamsDimension` Specifies the attribute by which to group the results. - `const AITimeseriesGroupSummaryParamsDimensionUserAgent AITimeseriesGroupSummaryParamsDimension = "USER_AGENT"` - `const AITimeseriesGroupSummaryParamsDimensionCrawlPurpose AITimeseriesGroupSummaryParamsDimension = "CRAWL_PURPOSE"` - `const AITimeseriesGroupSummaryParamsDimensionIndustry AITimeseriesGroupSummaryParamsDimension = "INDUSTRY"` - `const AITimeseriesGroupSummaryParamsDimensionVertical AITimeseriesGroupSummaryParamsDimension = "VERTICAL"` - `const AITimeseriesGroupSummaryParamsDimensionContentType AITimeseriesGroupSummaryParamsDimension = "CONTENT_TYPE"` - `query AITimeseriesGroupSummaryParams` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AITimeseriesGroupSummaryParamsContentType]` Filters results by content type category. - `const AITimeseriesGroupSummaryParamsContentTypeHTML AITimeseriesGroupSummaryParamsContentType = "HTML"` - `const AITimeseriesGroupSummaryParamsContentTypeImages AITimeseriesGroupSummaryParamsContentType = "IMAGES"` - `const AITimeseriesGroupSummaryParamsContentTypeJson AITimeseriesGroupSummaryParamsContentType = "JSON"` - `const AITimeseriesGroupSummaryParamsContentTypeJavascript AITimeseriesGroupSummaryParamsContentType = "JAVASCRIPT"` - `const AITimeseriesGroupSummaryParamsContentTypeCSS AITimeseriesGroupSummaryParamsContentType = "CSS"` - `const AITimeseriesGroupSummaryParamsContentTypePlainText AITimeseriesGroupSummaryParamsContentType = "PLAIN_TEXT"` - `const AITimeseriesGroupSummaryParamsContentTypeFonts AITimeseriesGroupSummaryParamsContentType = "FONTS"` - `const AITimeseriesGroupSummaryParamsContentTypeXml AITimeseriesGroupSummaryParamsContentType = "XML"` - `const AITimeseriesGroupSummaryParamsContentTypeYaml AITimeseriesGroupSummaryParamsContentType = "YAML"` - `const AITimeseriesGroupSummaryParamsContentTypeVideo AITimeseriesGroupSummaryParamsContentType = "VIDEO"` - `const AITimeseriesGroupSummaryParamsContentTypeAudio AITimeseriesGroupSummaryParamsContentType = "AUDIO"` - `const AITimeseriesGroupSummaryParamsContentTypeMarkdown AITimeseriesGroupSummaryParamsContentType = "MARKDOWN"` - `const AITimeseriesGroupSummaryParamsContentTypeDocuments AITimeseriesGroupSummaryParamsContentType = "DOCUMENTS"` - `const AITimeseriesGroupSummaryParamsContentTypeBinary AITimeseriesGroupSummaryParamsContentType = "BINARY"` - `const AITimeseriesGroupSummaryParamsContentTypeSerialization AITimeseriesGroupSummaryParamsContentType = "SERIALIZATION"` - `const AITimeseriesGroupSummaryParamsContentTypeOther AITimeseriesGroupSummaryParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AITimeseriesGroupSummaryParamsFormat]` Format in which results will be returned. - `const AITimeseriesGroupSummaryParamsFormatJson AITimeseriesGroupSummaryParamsFormat = "JSON"` - `const AITimeseriesGroupSummaryParamsFormatCsv AITimeseriesGroupSummaryParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AITimeseriesGroupSummaryResponse struct{…}` - `Meta AITimeseriesGroupSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo AITimeseriesGroupSummaryResponseMetaConfidenceInfo` - `Annotations []AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AITimeseriesGroupSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AITimeseriesGroupSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AITimeseriesGroupSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AITimeseriesGroupSummaryResponseMetaNormalizationPercentage AITimeseriesGroupSummaryResponseMetaNormalization = "PERCENTAGE"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationMin0Max AITimeseriesGroupSummaryResponseMetaNormalization = "MIN0_MAX"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationMinMax AITimeseriesGroupSummaryResponseMetaNormalization = "MIN_MAX"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationRawValues AITimeseriesGroupSummaryResponseMetaNormalization = "RAW_VALUES"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationPercentageChange AITimeseriesGroupSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationRollingAverage AITimeseriesGroupSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationOverlappedPercentage AITimeseriesGroupSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AITimeseriesGroupSummaryResponseMetaNormalizationRatio AITimeseriesGroupSummaryResponseMetaNormalization = "RATIO"` - `Units []AITimeseriesGroupSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.TimeseriesGroups.Summary( context.TODO(), radar.AITimeseriesGroupSummaryParamsDimensionUserAgent, radar.AITimeseriesGroupSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Amazonbot": "10.274394", "Bytespider": "8.381743", "facebookexternalhit": "63.40249" } }, "success": true } ``` ## Get AI bots HTTP requests time series `client.Radar.AI.TimeseriesGroups.Timeseries(ctx, query) (*AITimeseriesGroupTimeseriesResponse, error)` **get** `/radar/ai/bots/timeseries` Retrieves AI bots HTTP request volume over time. ### Parameters - `query AITimeseriesGroupTimeseriesParams` - `AggInterval param.Field[AITimeseriesGroupTimeseriesParamsAggInterval]` 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/). - `const AITimeseriesGroupTimeseriesParamsAggInterval15m AITimeseriesGroupTimeseriesParamsAggInterval = "15m"` - `const AITimeseriesGroupTimeseriesParamsAggInterval1h AITimeseriesGroupTimeseriesParamsAggInterval = "1h"` - `const AITimeseriesGroupTimeseriesParamsAggInterval1d AITimeseriesGroupTimeseriesParamsAggInterval = "1d"` - `const AITimeseriesGroupTimeseriesParamsAggInterval1w AITimeseriesGroupTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AITimeseriesGroupTimeseriesParamsContentType]` Filters results by content type category. - `const AITimeseriesGroupTimeseriesParamsContentTypeHTML AITimeseriesGroupTimeseriesParamsContentType = "HTML"` - `const AITimeseriesGroupTimeseriesParamsContentTypeImages AITimeseriesGroupTimeseriesParamsContentType = "IMAGES"` - `const AITimeseriesGroupTimeseriesParamsContentTypeJson AITimeseriesGroupTimeseriesParamsContentType = "JSON"` - `const AITimeseriesGroupTimeseriesParamsContentTypeJavascript AITimeseriesGroupTimeseriesParamsContentType = "JAVASCRIPT"` - `const AITimeseriesGroupTimeseriesParamsContentTypeCSS AITimeseriesGroupTimeseriesParamsContentType = "CSS"` - `const AITimeseriesGroupTimeseriesParamsContentTypePlainText AITimeseriesGroupTimeseriesParamsContentType = "PLAIN_TEXT"` - `const AITimeseriesGroupTimeseriesParamsContentTypeFonts AITimeseriesGroupTimeseriesParamsContentType = "FONTS"` - `const AITimeseriesGroupTimeseriesParamsContentTypeXml AITimeseriesGroupTimeseriesParamsContentType = "XML"` - `const AITimeseriesGroupTimeseriesParamsContentTypeYaml AITimeseriesGroupTimeseriesParamsContentType = "YAML"` - `const AITimeseriesGroupTimeseriesParamsContentTypeVideo AITimeseriesGroupTimeseriesParamsContentType = "VIDEO"` - `const AITimeseriesGroupTimeseriesParamsContentTypeAudio AITimeseriesGroupTimeseriesParamsContentType = "AUDIO"` - `const AITimeseriesGroupTimeseriesParamsContentTypeMarkdown AITimeseriesGroupTimeseriesParamsContentType = "MARKDOWN"` - `const AITimeseriesGroupTimeseriesParamsContentTypeDocuments AITimeseriesGroupTimeseriesParamsContentType = "DOCUMENTS"` - `const AITimeseriesGroupTimeseriesParamsContentTypeBinary AITimeseriesGroupTimeseriesParamsContentType = "BINARY"` - `const AITimeseriesGroupTimeseriesParamsContentTypeSerialization AITimeseriesGroupTimeseriesParamsContentType = "SERIALIZATION"` - `const AITimeseriesGroupTimeseriesParamsContentTypeOther AITimeseriesGroupTimeseriesParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AITimeseriesGroupTimeseriesParamsFormat]` Format in which results will be returned. - `const AITimeseriesGroupTimeseriesParamsFormatJson AITimeseriesGroupTimeseriesParamsFormat = "JSON"` - `const AITimeseriesGroupTimeseriesParamsFormatCsv AITimeseriesGroupTimeseriesParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AITimeseriesGroupTimeseriesResponse struct{…}` - `Meta AITimeseriesGroupTimeseriesResponseMeta` Metadata for the results. - `AggInterval AITimeseriesGroupTimeseriesResponseMetaAggInterval` 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/). - `const AITimeseriesGroupTimeseriesResponseMetaAggIntervalFifteenMinutes AITimeseriesGroupTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AITimeseriesGroupTimeseriesResponseMetaAggIntervalOneHour AITimeseriesGroupTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const AITimeseriesGroupTimeseriesResponseMetaAggIntervalOneDay AITimeseriesGroupTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const AITimeseriesGroupTimeseriesResponseMetaAggIntervalOneWeek AITimeseriesGroupTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const AITimeseriesGroupTimeseriesResponseMetaAggIntervalOneMonth AITimeseriesGroupTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AITimeseriesGroupTimeseriesResponseMetaConfidenceInfo` - `Annotations []AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AITimeseriesGroupTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AITimeseriesGroupTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AITimeseriesGroupTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationPercentage AITimeseriesGroupTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationMin0Max AITimeseriesGroupTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationMinMax AITimeseriesGroupTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationRawValues AITimeseriesGroupTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationPercentageChange AITimeseriesGroupTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationRollingAverage AITimeseriesGroupTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationOverlappedPercentage AITimeseriesGroupTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AITimeseriesGroupTimeseriesResponseMetaNormalizationRatio AITimeseriesGroupTimeseriesResponseMetaNormalization = "RATIO"` - `Units []AITimeseriesGroupTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.TimeseriesGroups.Timeseries(context.TODO(), radar.AITimeseriesGroupTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 time series distribution of AI bots HTTP requests by dimension. `client.Radar.AI.TimeseriesGroups.TimeseriesGroups(ctx, dimension, query) (*AITimeseriesGroupTimeseriesGroupsResponse, error)` **get** `/radar/ai/bots/timeseries_groups/{dimension}` Retrieves the distribution of HTTP requests from AI bots, grouped by the specified dimension over time. ### Parameters - `dimension AITimeseriesGroupTimeseriesGroupsParamsDimension` Specifies the attribute by which to group the results. - `const AITimeseriesGroupTimeseriesGroupsParamsDimensionUserAgent AITimeseriesGroupTimeseriesGroupsParamsDimension = "USER_AGENT"` - `const AITimeseriesGroupTimeseriesGroupsParamsDimensionCrawlPurpose AITimeseriesGroupTimeseriesGroupsParamsDimension = "CRAWL_PURPOSE"` - `const AITimeseriesGroupTimeseriesGroupsParamsDimensionIndustry AITimeseriesGroupTimeseriesGroupsParamsDimension = "INDUSTRY"` - `const AITimeseriesGroupTimeseriesGroupsParamsDimensionVertical AITimeseriesGroupTimeseriesGroupsParamsDimension = "VERTICAL"` - `const AITimeseriesGroupTimeseriesGroupsParamsDimensionContentType AITimeseriesGroupTimeseriesGroupsParamsDimension = "CONTENT_TYPE"` - `query AITimeseriesGroupTimeseriesGroupsParams` - `AggInterval param.Field[AITimeseriesGroupTimeseriesGroupsParamsAggInterval]` 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/). - `const AITimeseriesGroupTimeseriesGroupsParamsAggInterval15m AITimeseriesGroupTimeseriesGroupsParamsAggInterval = "15m"` - `const AITimeseriesGroupTimeseriesGroupsParamsAggInterval1h AITimeseriesGroupTimeseriesGroupsParamsAggInterval = "1h"` - `const AITimeseriesGroupTimeseriesGroupsParamsAggInterval1d AITimeseriesGroupTimeseriesGroupsParamsAggInterval = "1d"` - `const AITimeseriesGroupTimeseriesGroupsParamsAggInterval1w AITimeseriesGroupTimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `ContentType param.Field[[]AITimeseriesGroupTimeseriesGroupsParamsContentType]` Filters results by content type category. - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeHTML AITimeseriesGroupTimeseriesGroupsParamsContentType = "HTML"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeImages AITimeseriesGroupTimeseriesGroupsParamsContentType = "IMAGES"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeJson AITimeseriesGroupTimeseriesGroupsParamsContentType = "JSON"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeJavascript AITimeseriesGroupTimeseriesGroupsParamsContentType = "JAVASCRIPT"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeCSS AITimeseriesGroupTimeseriesGroupsParamsContentType = "CSS"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypePlainText AITimeseriesGroupTimeseriesGroupsParamsContentType = "PLAIN_TEXT"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeFonts AITimeseriesGroupTimeseriesGroupsParamsContentType = "FONTS"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeXml AITimeseriesGroupTimeseriesGroupsParamsContentType = "XML"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeYaml AITimeseriesGroupTimeseriesGroupsParamsContentType = "YAML"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeVideo AITimeseriesGroupTimeseriesGroupsParamsContentType = "VIDEO"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeAudio AITimeseriesGroupTimeseriesGroupsParamsContentType = "AUDIO"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeMarkdown AITimeseriesGroupTimeseriesGroupsParamsContentType = "MARKDOWN"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeDocuments AITimeseriesGroupTimeseriesGroupsParamsContentType = "DOCUMENTS"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeBinary AITimeseriesGroupTimeseriesGroupsParamsContentType = "BINARY"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeSerialization AITimeseriesGroupTimeseriesGroupsParamsContentType = "SERIALIZATION"` - `const AITimeseriesGroupTimeseriesGroupsParamsContentTypeOther AITimeseriesGroupTimeseriesGroupsParamsContentType = "OTHER"` - `Continent param.Field[[]string]` 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. - `CrawlPurpose param.Field[[]string]` Filters results by bot crawl purpose. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AITimeseriesGroupTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const AITimeseriesGroupTimeseriesGroupsParamsFormatJson AITimeseriesGroupTimeseriesGroupsParamsFormat = "JSON"` - `const AITimeseriesGroupTimeseriesGroupsParamsFormatCsv AITimeseriesGroupTimeseriesGroupsParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AITimeseriesGroupTimeseriesGroupsParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AITimeseriesGroupTimeseriesGroupsParamsNormalizationPercentage AITimeseriesGroupTimeseriesGroupsParamsNormalization = "PERCENTAGE"` - `const AITimeseriesGroupTimeseriesGroupsParamsNormalizationMin0Max AITimeseriesGroupTimeseriesGroupsParamsNormalization = "MIN0_MAX"` - `UserAgent param.Field[[]string]` Filters results by user agent. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type AITimeseriesGroupTimeseriesGroupsResponse struct{…}` - `Meta AITimeseriesGroupTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval` 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/). - `const AITimeseriesGroupTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaAggIntervalOneHour AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaAggIntervalOneDay AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaAggIntervalOneWeek AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaAggIntervalOneMonth AITimeseriesGroupTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AITimeseriesGroupTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AITimeseriesGroupTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationPercentage AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationMin0Max AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationMinMax AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationRawValues AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationPercentageChange AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationRollingAverage AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AITimeseriesGroupTimeseriesGroupsResponseMetaNormalizationRatio AITimeseriesGroupTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []AITimeseriesGroupTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AITimeseriesGroupTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AI.TimeseriesGroups.TimeseriesGroups( context.TODO(), radar.AITimeseriesGroupTimeseriesGroupsParamsDimensionUserAgent, radar.AITimeseriesGroupTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # CT ## Get certificate distribution by dimension `client.Radar.CT.Summary(ctx, dimension, query) (*CTSummaryResponse, error)` **get** `/radar/ct/summary/{dimension}` Retrieves an aggregated summary of certificates grouped by the specified dimension. ### Parameters - `dimension CTSummaryParamsDimension` Specifies the certificate attribute by which to group the results. - `const CTSummaryParamsDimensionCA CTSummaryParamsDimension = "CA"` - `const CTSummaryParamsDimensionCAOwner CTSummaryParamsDimension = "CA_OWNER"` - `const CTSummaryParamsDimensionDuration CTSummaryParamsDimension = "DURATION"` - `const CTSummaryParamsDimensionEntryType CTSummaryParamsDimension = "ENTRY_TYPE"` - `const CTSummaryParamsDimensionExpirationStatus CTSummaryParamsDimension = "EXPIRATION_STATUS"` - `const CTSummaryParamsDimensionHasIPs CTSummaryParamsDimension = "HAS_IPS"` - `const CTSummaryParamsDimensionHasWildcards CTSummaryParamsDimension = "HAS_WILDCARDS"` - `const CTSummaryParamsDimensionLog CTSummaryParamsDimension = "LOG"` - `const CTSummaryParamsDimensionLogAPI CTSummaryParamsDimension = "LOG_API"` - `const CTSummaryParamsDimensionLogOperator CTSummaryParamsDimension = "LOG_OPERATOR"` - `const CTSummaryParamsDimensionPublicKeyAlgorithm CTSummaryParamsDimension = "PUBLIC_KEY_ALGORITHM"` - `const CTSummaryParamsDimensionSignatureAlgorithm CTSummaryParamsDimension = "SIGNATURE_ALGORITHM"` - `const CTSummaryParamsDimensionTLD CTSummaryParamsDimension = "TLD"` - `const CTSummaryParamsDimensionValidationLevel CTSummaryParamsDimension = "VALIDATION_LEVEL"` - `query CTSummaryParams` - `CA param.Field[[]string]` Filters results by certificate authority. - `CAOwner param.Field[[]string]` Filters results by certificate authority owner. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Duration param.Field[[]CTSummaryParamsDuration]` Filters results by certificate duration. - `const CTSummaryParamsDurationLte3D CTSummaryParamsDuration = "LTE_3D"` - `const CTSummaryParamsDurationGt3DLte7D CTSummaryParamsDuration = "GT_3D_LTE_7D"` - `const CTSummaryParamsDurationGt7DLte10D CTSummaryParamsDuration = "GT_7D_LTE_10D"` - `const CTSummaryParamsDurationGt10DLte47D CTSummaryParamsDuration = "GT_10D_LTE_47D"` - `const CTSummaryParamsDurationGt47DLte100D CTSummaryParamsDuration = "GT_47D_LTE_100D"` - `const CTSummaryParamsDurationGt100DLte200D CTSummaryParamsDuration = "GT_100D_LTE_200D"` - `const CTSummaryParamsDurationGt200D CTSummaryParamsDuration = "GT_200D"` - `EntryType param.Field[[]CTSummaryParamsEntryType]` Filters results by entry type (certificate vs. pre-certificate). - `const CTSummaryParamsEntryTypePrecertificate CTSummaryParamsEntryType = "PRECERTIFICATE"` - `const CTSummaryParamsEntryTypeCertificate CTSummaryParamsEntryType = "CERTIFICATE"` - `ExpirationStatus param.Field[[]CTSummaryParamsExpirationStatus]` Filters results by expiration status (expired vs. valid). - `const CTSummaryParamsExpirationStatusExpired CTSummaryParamsExpirationStatus = "EXPIRED"` - `const CTSummaryParamsExpirationStatusValid CTSummaryParamsExpirationStatus = "VALID"` - `Format param.Field[CTSummaryParamsFormat]` Format in which results will be returned. - `const CTSummaryParamsFormatJson CTSummaryParamsFormat = "JSON"` - `const CTSummaryParamsFormatCsv CTSummaryParamsFormat = "CSV"` - `HasIPs param.Field[[]bool]` Filters results based on whether the certificates are bound to specific IP addresses. - `HasWildcards param.Field[[]bool]` Filters results based on whether the certificates contain wildcard domains. - `LimitPerGroup param.Field[int64]` 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. - `Log param.Field[[]string]` Filters results by certificate log. - `LogAPI param.Field[[]CTSummaryParamsLogAPI]` Filters results by certificate log API (RFC6962 vs. static). - `const CTSummaryParamsLogAPIRfc6962 CTSummaryParamsLogAPI = "RFC6962"` - `const CTSummaryParamsLogAPIStatic CTSummaryParamsLogAPI = "STATIC"` - `LogOperator param.Field[[]string]` Filters results by certificate log operator. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[CTSummaryParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const CTSummaryParamsNormalizationRawValues CTSummaryParamsNormalization = "RAW_VALUES"` - `const CTSummaryParamsNormalizationPercentage CTSummaryParamsNormalization = "PERCENTAGE"` - `PublicKeyAlgorithm param.Field[[]CTSummaryParamsPublicKeyAlgorithm]` Filters results by public key algorithm. - `const CTSummaryParamsPublicKeyAlgorithmDsa CTSummaryParamsPublicKeyAlgorithm = "DSA"` - `const CTSummaryParamsPublicKeyAlgorithmEcdsa CTSummaryParamsPublicKeyAlgorithm = "ECDSA"` - `const CTSummaryParamsPublicKeyAlgorithmRSA CTSummaryParamsPublicKeyAlgorithm = "RSA"` - `SignatureAlgorithm param.Field[[]CTSummaryParamsSignatureAlgorithm]` Filters results by signature algorithm. - `const CTSummaryParamsSignatureAlgorithmDsaSha1 CTSummaryParamsSignatureAlgorithm = "DSA_SHA_1"` - `const CTSummaryParamsSignatureAlgorithmDsaSha256 CTSummaryParamsSignatureAlgorithm = "DSA_SHA_256"` - `const CTSummaryParamsSignatureAlgorithmEcdsaSha1 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_1"` - `const CTSummaryParamsSignatureAlgorithmEcdsaSha256 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_256"` - `const CTSummaryParamsSignatureAlgorithmEcdsaSha384 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_384"` - `const CTSummaryParamsSignatureAlgorithmEcdsaSha512 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_512"` - `const CTSummaryParamsSignatureAlgorithmPssSha256 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_256"` - `const CTSummaryParamsSignatureAlgorithmPssSha384 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_384"` - `const CTSummaryParamsSignatureAlgorithmPssSha512 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_512"` - `const CTSummaryParamsSignatureAlgorithmRSAMd2 CTSummaryParamsSignatureAlgorithm = "RSA_MD2"` - `const CTSummaryParamsSignatureAlgorithmRSAMd5 CTSummaryParamsSignatureAlgorithm = "RSA_MD5"` - `const CTSummaryParamsSignatureAlgorithmRSASha1 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_1"` - `const CTSummaryParamsSignatureAlgorithmRSASha256 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_256"` - `const CTSummaryParamsSignatureAlgorithmRSASha384 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_384"` - `const CTSummaryParamsSignatureAlgorithmRSASha512 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_512"` - `TLD param.Field[[]string]` Filters results by top-level domain. - `UniqueEntries param.Field[[]CTSummaryParamsUniqueEntry]` Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. - `const CTSummaryParamsUniqueEntryTrue CTSummaryParamsUniqueEntry = "true"` - `const CTSummaryParamsUniqueEntryFalse CTSummaryParamsUniqueEntry = "false"` - `ValidationLevel param.Field[[]CTSummaryParamsValidationLevel]` Filters results by validation level. - `const CTSummaryParamsValidationLevelDomain CTSummaryParamsValidationLevel = "DOMAIN"` - `const CTSummaryParamsValidationLevelOrganization CTSummaryParamsValidationLevel = "ORGANIZATION"` - `const CTSummaryParamsValidationLevelExtended CTSummaryParamsValidationLevel = "EXTENDED"` ### Returns - `type CTSummaryResponse struct{…}` - `Meta CTSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo CTSummaryResponseMetaConfidenceInfo` - `Annotations []CTSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType CTSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []CTSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization CTSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const CTSummaryResponseMetaNormalizationPercentage CTSummaryResponseMetaNormalization = "PERCENTAGE"` - `const CTSummaryResponseMetaNormalizationMin0Max CTSummaryResponseMetaNormalization = "MIN0_MAX"` - `const CTSummaryResponseMetaNormalizationMinMax CTSummaryResponseMetaNormalization = "MIN_MAX"` - `const CTSummaryResponseMetaNormalizationRawValues CTSummaryResponseMetaNormalization = "RAW_VALUES"` - `const CTSummaryResponseMetaNormalizationPercentageChange CTSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const CTSummaryResponseMetaNormalizationRollingAverage CTSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const CTSummaryResponseMetaNormalizationOverlappedPercentage CTSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const CTSummaryResponseMetaNormalizationRatio CTSummaryResponseMetaNormalization = "RATIO"` - `Units []CTSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 CTSummaryResponseSummary0Union` - `type CTSummaryResponseSummary0Map map[string, string]` - `type CTSummaryResponseSummary0Object struct{…}` - `Rfc6962 string` - `Static string` - `type CTSummaryResponseSummary0Object struct{…}` - `Gt121d string` - `Gt16dLte31d string` - `Gt31dLte91d string` - `Gt3dLte16d string` - `Gt91dLte121d string` - `Lte3d string` - `type CTSummaryResponseSummary0Object struct{…}` - `Certificate string` - `Precertificate string` - `type CTSummaryResponseSummary0Object struct{…}` - `Expired string` - `Valid string` - `type CTSummaryResponseSummary0Object struct{…}` - `Negative string` - `Positive string` - `type CTSummaryResponseSummary0Object struct{…}` - `Dsa string` - `Ecdsa string` - `RSA string` - `type CTSummaryResponseSummary0Object struct{…}` - `Domain string` - `Extended string` - `Organization string` - `Unknown string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.CT.Summary( context.TODO(), radar.CTSummaryParamsDimensionCA, radar.CTSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "DigiCert": "10.274394", "GoDaddy": "8.381743", "Internet Security Research Group": "63.40249" } }, "success": true } ``` ## Get certificates time series `client.Radar.CT.Timeseries(ctx, query) (*CTTimeseriesResponse, error)` **get** `/radar/ct/timeseries` Retrieves certificate volume over time. ### Parameters - `query CTTimeseriesParams` - `AggInterval param.Field[CTTimeseriesParamsAggInterval]` 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/). - `const CTTimeseriesParamsAggInterval15m CTTimeseriesParamsAggInterval = "15m"` - `const CTTimeseriesParamsAggInterval1h CTTimeseriesParamsAggInterval = "1h"` - `const CTTimeseriesParamsAggInterval1d CTTimeseriesParamsAggInterval = "1d"` - `const CTTimeseriesParamsAggInterval1w CTTimeseriesParamsAggInterval = "1w"` - `CA param.Field[[]string]` Filters results by certificate authority. - `CAOwner param.Field[[]string]` Filters results by certificate authority owner. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Duration param.Field[[]CTTimeseriesParamsDuration]` Filters results by certificate duration. - `const CTTimeseriesParamsDurationLte3D CTTimeseriesParamsDuration = "LTE_3D"` - `const CTTimeseriesParamsDurationGt3DLte7D CTTimeseriesParamsDuration = "GT_3D_LTE_7D"` - `const CTTimeseriesParamsDurationGt7DLte10D CTTimeseriesParamsDuration = "GT_7D_LTE_10D"` - `const CTTimeseriesParamsDurationGt10DLte47D CTTimeseriesParamsDuration = "GT_10D_LTE_47D"` - `const CTTimeseriesParamsDurationGt47DLte100D CTTimeseriesParamsDuration = "GT_47D_LTE_100D"` - `const CTTimeseriesParamsDurationGt100DLte200D CTTimeseriesParamsDuration = "GT_100D_LTE_200D"` - `const CTTimeseriesParamsDurationGt200D CTTimeseriesParamsDuration = "GT_200D"` - `EntryType param.Field[[]CTTimeseriesParamsEntryType]` Filters results by entry type (certificate vs. pre-certificate). - `const CTTimeseriesParamsEntryTypePrecertificate CTTimeseriesParamsEntryType = "PRECERTIFICATE"` - `const CTTimeseriesParamsEntryTypeCertificate CTTimeseriesParamsEntryType = "CERTIFICATE"` - `ExpirationStatus param.Field[[]CTTimeseriesParamsExpirationStatus]` Filters results by expiration status (expired vs. valid). - `const CTTimeseriesParamsExpirationStatusExpired CTTimeseriesParamsExpirationStatus = "EXPIRED"` - `const CTTimeseriesParamsExpirationStatusValid CTTimeseriesParamsExpirationStatus = "VALID"` - `Format param.Field[CTTimeseriesParamsFormat]` Format in which results will be returned. - `const CTTimeseriesParamsFormatJson CTTimeseriesParamsFormat = "JSON"` - `const CTTimeseriesParamsFormatCsv CTTimeseriesParamsFormat = "CSV"` - `HasIPs param.Field[[]bool]` Filters results based on whether the certificates are bound to specific IP addresses. - `HasWildcards param.Field[[]bool]` Filters results based on whether the certificates contain wildcard domains. - `Log param.Field[[]string]` Filters results by certificate log. - `LogAPI param.Field[[]CTTimeseriesParamsLogAPI]` Filters results by certificate log API (RFC6962 vs. static). - `const CTTimeseriesParamsLogAPIRfc6962 CTTimeseriesParamsLogAPI = "RFC6962"` - `const CTTimeseriesParamsLogAPIStatic CTTimeseriesParamsLogAPI = "STATIC"` - `LogOperator param.Field[[]string]` Filters results by certificate log operator. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `PublicKeyAlgorithm param.Field[[]CTTimeseriesParamsPublicKeyAlgorithm]` Filters results by public key algorithm. - `const CTTimeseriesParamsPublicKeyAlgorithmDsa CTTimeseriesParamsPublicKeyAlgorithm = "DSA"` - `const CTTimeseriesParamsPublicKeyAlgorithmEcdsa CTTimeseriesParamsPublicKeyAlgorithm = "ECDSA"` - `const CTTimeseriesParamsPublicKeyAlgorithmRSA CTTimeseriesParamsPublicKeyAlgorithm = "RSA"` - `SignatureAlgorithm param.Field[[]CTTimeseriesParamsSignatureAlgorithm]` Filters results by signature algorithm. - `const CTTimeseriesParamsSignatureAlgorithmDsaSha1 CTTimeseriesParamsSignatureAlgorithm = "DSA_SHA_1"` - `const CTTimeseriesParamsSignatureAlgorithmDsaSha256 CTTimeseriesParamsSignatureAlgorithm = "DSA_SHA_256"` - `const CTTimeseriesParamsSignatureAlgorithmEcdsaSha1 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_1"` - `const CTTimeseriesParamsSignatureAlgorithmEcdsaSha256 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_256"` - `const CTTimeseriesParamsSignatureAlgorithmEcdsaSha384 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_384"` - `const CTTimeseriesParamsSignatureAlgorithmEcdsaSha512 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_512"` - `const CTTimeseriesParamsSignatureAlgorithmPssSha256 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_256"` - `const CTTimeseriesParamsSignatureAlgorithmPssSha384 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_384"` - `const CTTimeseriesParamsSignatureAlgorithmPssSha512 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_512"` - `const CTTimeseriesParamsSignatureAlgorithmRSAMd2 CTTimeseriesParamsSignatureAlgorithm = "RSA_MD2"` - `const CTTimeseriesParamsSignatureAlgorithmRSAMd5 CTTimeseriesParamsSignatureAlgorithm = "RSA_MD5"` - `const CTTimeseriesParamsSignatureAlgorithmRSASha1 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_1"` - `const CTTimeseriesParamsSignatureAlgorithmRSASha256 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_256"` - `const CTTimeseriesParamsSignatureAlgorithmRSASha384 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_384"` - `const CTTimeseriesParamsSignatureAlgorithmRSASha512 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_512"` - `TLD param.Field[[]string]` Filters results by top-level domain. - `UniqueEntries param.Field[[]CTTimeseriesParamsUniqueEntry]` Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. - `const CTTimeseriesParamsUniqueEntryTrue CTTimeseriesParamsUniqueEntry = "true"` - `const CTTimeseriesParamsUniqueEntryFalse CTTimeseriesParamsUniqueEntry = "false"` - `ValidationLevel param.Field[[]CTTimeseriesParamsValidationLevel]` Filters results by validation level. - `const CTTimeseriesParamsValidationLevelDomain CTTimeseriesParamsValidationLevel = "DOMAIN"` - `const CTTimeseriesParamsValidationLevelOrganization CTTimeseriesParamsValidationLevel = "ORGANIZATION"` - `const CTTimeseriesParamsValidationLevelExtended CTTimeseriesParamsValidationLevel = "EXTENDED"` ### Returns - `type CTTimeseriesResponse struct{…}` - `Meta CTTimeseriesResponseMeta` Metadata for the results. - `AggInterval CTTimeseriesResponseMetaAggInterval` 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/). - `const CTTimeseriesResponseMetaAggIntervalFifteenMinutes CTTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const CTTimeseriesResponseMetaAggIntervalOneHour CTTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const CTTimeseriesResponseMetaAggIntervalOneDay CTTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const CTTimeseriesResponseMetaAggIntervalOneWeek CTTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const CTTimeseriesResponseMetaAggIntervalOneMonth CTTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo CTTimeseriesResponseMetaConfidenceInfo` - `Annotations []CTTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []CTTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization CTTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const CTTimeseriesResponseMetaNormalizationPercentage CTTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const CTTimeseriesResponseMetaNormalizationMin0Max CTTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const CTTimeseriesResponseMetaNormalizationMinMax CTTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const CTTimeseriesResponseMetaNormalizationRawValues CTTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const CTTimeseriesResponseMetaNormalizationPercentageChange CTTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const CTTimeseriesResponseMetaNormalizationRollingAverage CTTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const CTTimeseriesResponseMetaNormalizationOverlappedPercentage CTTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const CTTimeseriesResponseMetaNormalizationRatio CTTimeseriesResponseMetaNormalization = "RATIO"` - `Units []CTTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.CT.Timeseries(context.TODO(), radar.CTTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 time series of certificate distribution by dimension `client.Radar.CT.TimeseriesGroups(ctx, dimension, query) (*CTTimeseriesGroupsResponse, error)` **get** `/radar/ct/timeseries_groups/{dimension}` Retrieves the distribution of certificates grouped by the specified dimension over time. ### Parameters - `dimension CTTimeseriesGroupsParamsDimension` Specifies the certificate attribute by which to group the results. - `const CTTimeseriesGroupsParamsDimensionCA CTTimeseriesGroupsParamsDimension = "CA"` - `const CTTimeseriesGroupsParamsDimensionCAOwner CTTimeseriesGroupsParamsDimension = "CA_OWNER"` - `const CTTimeseriesGroupsParamsDimensionDuration CTTimeseriesGroupsParamsDimension = "DURATION"` - `const CTTimeseriesGroupsParamsDimensionEntryType CTTimeseriesGroupsParamsDimension = "ENTRY_TYPE"` - `const CTTimeseriesGroupsParamsDimensionExpirationStatus CTTimeseriesGroupsParamsDimension = "EXPIRATION_STATUS"` - `const CTTimeseriesGroupsParamsDimensionHasIPs CTTimeseriesGroupsParamsDimension = "HAS_IPS"` - `const CTTimeseriesGroupsParamsDimensionHasWildcards CTTimeseriesGroupsParamsDimension = "HAS_WILDCARDS"` - `const CTTimeseriesGroupsParamsDimensionLog CTTimeseriesGroupsParamsDimension = "LOG"` - `const CTTimeseriesGroupsParamsDimensionLogAPI CTTimeseriesGroupsParamsDimension = "LOG_API"` - `const CTTimeseriesGroupsParamsDimensionLogOperator CTTimeseriesGroupsParamsDimension = "LOG_OPERATOR"` - `const CTTimeseriesGroupsParamsDimensionPublicKeyAlgorithm CTTimeseriesGroupsParamsDimension = "PUBLIC_KEY_ALGORITHM"` - `const CTTimeseriesGroupsParamsDimensionSignatureAlgorithm CTTimeseriesGroupsParamsDimension = "SIGNATURE_ALGORITHM"` - `const CTTimeseriesGroupsParamsDimensionTLD CTTimeseriesGroupsParamsDimension = "TLD"` - `const CTTimeseriesGroupsParamsDimensionValidationLevel CTTimeseriesGroupsParamsDimension = "VALIDATION_LEVEL"` - `query CTTimeseriesGroupsParams` - `AggInterval param.Field[CTTimeseriesGroupsParamsAggInterval]` 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/). - `const CTTimeseriesGroupsParamsAggInterval15m CTTimeseriesGroupsParamsAggInterval = "15m"` - `const CTTimeseriesGroupsParamsAggInterval1h CTTimeseriesGroupsParamsAggInterval = "1h"` - `const CTTimeseriesGroupsParamsAggInterval1d CTTimeseriesGroupsParamsAggInterval = "1d"` - `const CTTimeseriesGroupsParamsAggInterval1w CTTimeseriesGroupsParamsAggInterval = "1w"` - `CA param.Field[[]string]` Filters results by certificate authority. - `CAOwner param.Field[[]string]` Filters results by certificate authority owner. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Duration param.Field[[]CTTimeseriesGroupsParamsDuration]` Filters results by certificate duration. - `const CTTimeseriesGroupsParamsDurationLte3D CTTimeseriesGroupsParamsDuration = "LTE_3D"` - `const CTTimeseriesGroupsParamsDurationGt3DLte7D CTTimeseriesGroupsParamsDuration = "GT_3D_LTE_7D"` - `const CTTimeseriesGroupsParamsDurationGt7DLte10D CTTimeseriesGroupsParamsDuration = "GT_7D_LTE_10D"` - `const CTTimeseriesGroupsParamsDurationGt10DLte47D CTTimeseriesGroupsParamsDuration = "GT_10D_LTE_47D"` - `const CTTimeseriesGroupsParamsDurationGt47DLte100D CTTimeseriesGroupsParamsDuration = "GT_47D_LTE_100D"` - `const CTTimeseriesGroupsParamsDurationGt100DLte200D CTTimeseriesGroupsParamsDuration = "GT_100D_LTE_200D"` - `const CTTimeseriesGroupsParamsDurationGt200D CTTimeseriesGroupsParamsDuration = "GT_200D"` - `EntryType param.Field[[]CTTimeseriesGroupsParamsEntryType]` Filters results by entry type (certificate vs. pre-certificate). - `const CTTimeseriesGroupsParamsEntryTypePrecertificate CTTimeseriesGroupsParamsEntryType = "PRECERTIFICATE"` - `const CTTimeseriesGroupsParamsEntryTypeCertificate CTTimeseriesGroupsParamsEntryType = "CERTIFICATE"` - `ExpirationStatus param.Field[[]CTTimeseriesGroupsParamsExpirationStatus]` Filters results by expiration status (expired vs. valid). - `const CTTimeseriesGroupsParamsExpirationStatusExpired CTTimeseriesGroupsParamsExpirationStatus = "EXPIRED"` - `const CTTimeseriesGroupsParamsExpirationStatusValid CTTimeseriesGroupsParamsExpirationStatus = "VALID"` - `Format param.Field[CTTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const CTTimeseriesGroupsParamsFormatJson CTTimeseriesGroupsParamsFormat = "JSON"` - `const CTTimeseriesGroupsParamsFormatCsv CTTimeseriesGroupsParamsFormat = "CSV"` - `HasIPs param.Field[[]bool]` Filters results based on whether the certificates are bound to specific IP addresses. - `HasWildcards param.Field[[]bool]` Filters results based on whether the certificates contain wildcard domains. - `LimitPerGroup param.Field[int64]` 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. - `Log param.Field[[]string]` Filters results by certificate log. - `LogAPI param.Field[[]CTTimeseriesGroupsParamsLogAPI]` Filters results by certificate log API (RFC6962 vs. static). - `const CTTimeseriesGroupsParamsLogAPIRfc6962 CTTimeseriesGroupsParamsLogAPI = "RFC6962"` - `const CTTimeseriesGroupsParamsLogAPIStatic CTTimeseriesGroupsParamsLogAPI = "STATIC"` - `LogOperator param.Field[[]string]` Filters results by certificate log operator. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[CTTimeseriesGroupsParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const CTTimeseriesGroupsParamsNormalizationRawValues CTTimeseriesGroupsParamsNormalization = "RAW_VALUES"` - `const CTTimeseriesGroupsParamsNormalizationPercentage CTTimeseriesGroupsParamsNormalization = "PERCENTAGE"` - `PublicKeyAlgorithm param.Field[[]CTTimeseriesGroupsParamsPublicKeyAlgorithm]` Filters results by public key algorithm. - `const CTTimeseriesGroupsParamsPublicKeyAlgorithmDsa CTTimeseriesGroupsParamsPublicKeyAlgorithm = "DSA"` - `const CTTimeseriesGroupsParamsPublicKeyAlgorithmEcdsa CTTimeseriesGroupsParamsPublicKeyAlgorithm = "ECDSA"` - `const CTTimeseriesGroupsParamsPublicKeyAlgorithmRSA CTTimeseriesGroupsParamsPublicKeyAlgorithm = "RSA"` - `SignatureAlgorithm param.Field[[]CTTimeseriesGroupsParamsSignatureAlgorithm]` Filters results by signature algorithm. - `const CTTimeseriesGroupsParamsSignatureAlgorithmDsaSha1 CTTimeseriesGroupsParamsSignatureAlgorithm = "DSA_SHA_1"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmDsaSha256 CTTimeseriesGroupsParamsSignatureAlgorithm = "DSA_SHA_256"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmEcdsaSha1 CTTimeseriesGroupsParamsSignatureAlgorithm = "ECDSA_SHA_1"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmEcdsaSha256 CTTimeseriesGroupsParamsSignatureAlgorithm = "ECDSA_SHA_256"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmEcdsaSha384 CTTimeseriesGroupsParamsSignatureAlgorithm = "ECDSA_SHA_384"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmEcdsaSha512 CTTimeseriesGroupsParamsSignatureAlgorithm = "ECDSA_SHA_512"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmPssSha256 CTTimeseriesGroupsParamsSignatureAlgorithm = "PSS_SHA_256"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmPssSha384 CTTimeseriesGroupsParamsSignatureAlgorithm = "PSS_SHA_384"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmPssSha512 CTTimeseriesGroupsParamsSignatureAlgorithm = "PSS_SHA_512"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSAMd2 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_MD2"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSAMd5 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_MD5"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSASha1 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_SHA_1"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSASha256 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_SHA_256"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSASha384 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_SHA_384"` - `const CTTimeseriesGroupsParamsSignatureAlgorithmRSASha512 CTTimeseriesGroupsParamsSignatureAlgorithm = "RSA_SHA_512"` - `TLD param.Field[[]string]` Filters results by top-level domain. - `UniqueEntries param.Field[[]CTTimeseriesGroupsParamsUniqueEntry]` Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. - `const CTTimeseriesGroupsParamsUniqueEntryTrue CTTimeseriesGroupsParamsUniqueEntry = "true"` - `const CTTimeseriesGroupsParamsUniqueEntryFalse CTTimeseriesGroupsParamsUniqueEntry = "false"` - `ValidationLevel param.Field[[]CTTimeseriesGroupsParamsValidationLevel]` Filters results by validation level. - `const CTTimeseriesGroupsParamsValidationLevelDomain CTTimeseriesGroupsParamsValidationLevel = "DOMAIN"` - `const CTTimeseriesGroupsParamsValidationLevelOrganization CTTimeseriesGroupsParamsValidationLevel = "ORGANIZATION"` - `const CTTimeseriesGroupsParamsValidationLevelExtended CTTimeseriesGroupsParamsValidationLevel = "EXTENDED"` ### Returns - `type CTTimeseriesGroupsResponse struct{…}` - `Meta CTTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval CTTimeseriesGroupsResponseMetaAggInterval` 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/). - `const CTTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes CTTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const CTTimeseriesGroupsResponseMetaAggIntervalOneHour CTTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const CTTimeseriesGroupsResponseMetaAggIntervalOneDay CTTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const CTTimeseriesGroupsResponseMetaAggIntervalOneWeek CTTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const CTTimeseriesGroupsResponseMetaAggIntervalOneMonth CTTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo CTTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly CTTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []CTTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization CTTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const CTTimeseriesGroupsResponseMetaNormalizationPercentage CTTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const CTTimeseriesGroupsResponseMetaNormalizationMin0Max CTTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const CTTimeseriesGroupsResponseMetaNormalizationMinMax CTTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const CTTimeseriesGroupsResponseMetaNormalizationRawValues CTTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const CTTimeseriesGroupsResponseMetaNormalizationPercentageChange CTTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const CTTimeseriesGroupsResponseMetaNormalizationRollingAverage CTTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const CTTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage CTTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const CTTimeseriesGroupsResponseMetaNormalizationRatio CTTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []CTTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 CTTimeseriesGroupsResponseSerie0` - `type CTTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55 struct{…}` - `Timestamps []Time` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Rfc6962 []string` - `Static []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Gt121d []string` - `Gt16dLte31d []string` - `Gt31dLte91d []string` - `Gt3dLte16d []string` - `Gt91dLte121d []string` - `Lte3d []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Certificate []string` - `Precertificate []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Expired []string` - `Valid []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Negative []string` - `Positive []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Dsa []string` - `Ecdsa []string` - `RSA []string` - `type CTTimeseriesGroupsResponseSerie0Object struct{…}` - `Domain []string` - `Extended []string` - `Organization []string` - `Unknown []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.CT.TimeseriesGroups( context.TODO(), radar.CTTimeseriesGroupsParamsDimensionCA, radar.CTTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Authorities ## Get certificate authority details `client.Radar.CT.Authorities.Get(ctx, caSlug, query) (*CTAuthorityGetResponse, error)` **get** `/radar/ct/authorities/{ca_slug}` Retrieves the requested CA information. ### Parameters - `caSlug string` Certificate authority SHA256 fingerprint. - `query CTAuthorityGetParams` - `Format param.Field[CTAuthorityGetParamsFormat]` Format in which results will be returned. - `const CTAuthorityGetParamsFormatJson CTAuthorityGetParamsFormat = "JSON"` - `const CTAuthorityGetParamsFormatCsv CTAuthorityGetParamsFormat = "CSV"` ### Returns - `type CTAuthorityGetResponse struct{…}` - `CertificateAuthority CTAuthorityGetResponseCertificateAuthority` - `AppleStatus CTAuthorityGetResponseCertificateAuthorityAppleStatus` The inclusion status of a Certificate Authority (CA) in the trust store. - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusIncluded CTAuthorityGetResponseCertificateAuthorityAppleStatus = "INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusNotYetIncluded CTAuthorityGetResponseCertificateAuthorityAppleStatus = "NOT_YET_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusNotIncluded CTAuthorityGetResponseCertificateAuthorityAppleStatus = "NOT_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusNotBefore CTAuthorityGetResponseCertificateAuthorityAppleStatus = "NOT_BEFORE"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusRemoved CTAuthorityGetResponseCertificateAuthorityAppleStatus = "REMOVED"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusDisabled CTAuthorityGetResponseCertificateAuthorityAppleStatus = "DISABLED"` - `const CTAuthorityGetResponseCertificateAuthorityAppleStatusBlocked CTAuthorityGetResponseCertificateAuthorityAppleStatus = "BLOCKED"` - `AuthorityKeyIdentifier string` The authorityKeyIdentifier value extracted from the certificate PEM. - `CertificateRecordType CTAuthorityGetResponseCertificateAuthorityCertificateRecordType` Specifies the type of certificate in the trust chain. - `const CTAuthorityGetResponseCertificateAuthorityCertificateRecordTypeRootCertificate CTAuthorityGetResponseCertificateAuthorityCertificateRecordType = "ROOT_CERTIFICATE"` - `const CTAuthorityGetResponseCertificateAuthorityCertificateRecordTypeIntermediateCertificate CTAuthorityGetResponseCertificateAuthorityCertificateRecordType = "INTERMEDIATE_CERTIFICATE"` - `ChromeStatus CTAuthorityGetResponseCertificateAuthorityChromeStatus` The inclusion status of a Certificate Authority (CA) in the trust store. - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusIncluded CTAuthorityGetResponseCertificateAuthorityChromeStatus = "INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusNotYetIncluded CTAuthorityGetResponseCertificateAuthorityChromeStatus = "NOT_YET_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusNotIncluded CTAuthorityGetResponseCertificateAuthorityChromeStatus = "NOT_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusNotBefore CTAuthorityGetResponseCertificateAuthorityChromeStatus = "NOT_BEFORE"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusRemoved CTAuthorityGetResponseCertificateAuthorityChromeStatus = "REMOVED"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusDisabled CTAuthorityGetResponseCertificateAuthorityChromeStatus = "DISABLED"` - `const CTAuthorityGetResponseCertificateAuthorityChromeStatusBlocked CTAuthorityGetResponseCertificateAuthorityChromeStatus = "BLOCKED"` - `Country string` The two-letter ISO country code where the CA organization is based. - `CountryName string` The full country name corresponding to the country code. - `MicrosoftStatus CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus` The inclusion status of a Certificate Authority (CA) in the trust store. - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusIncluded CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusNotYetIncluded CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "NOT_YET_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusNotIncluded CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "NOT_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusNotBefore CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "NOT_BEFORE"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusRemoved CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "REMOVED"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusDisabled CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "DISABLED"` - `const CTAuthorityGetResponseCertificateAuthorityMicrosoftStatusBlocked CTAuthorityGetResponseCertificateAuthorityMicrosoftStatus = "BLOCKED"` - `MozillaStatus CTAuthorityGetResponseCertificateAuthorityMozillaStatus` The inclusion status of a Certificate Authority (CA) in the trust store. - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusIncluded CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusNotYetIncluded CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "NOT_YET_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusNotIncluded CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "NOT_INCLUDED"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusNotBefore CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "NOT_BEFORE"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusRemoved CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "REMOVED"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusDisabled CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "DISABLED"` - `const CTAuthorityGetResponseCertificateAuthorityMozillaStatusBlocked CTAuthorityGetResponseCertificateAuthorityMozillaStatus = "BLOCKED"` - `Name string` The full name of the certificate authority (CA). - `Owner string` The organization that owns and operates the CA. - `ParentName string` The name of the parent/root certificate authority that issued this intermediate certificate. - `ParentSha256Fingerprint string` The SHA-256 fingerprint of the parent certificate. - `Related []CTAuthorityGetResponseCertificateAuthorityRelated` CAs from the same owner. - `CertificateRecordType CTAuthorityGetResponseCertificateAuthorityRelatedCertificateRecordType` Specifies the type of certificate in the trust chain. - `const CTAuthorityGetResponseCertificateAuthorityRelatedCertificateRecordTypeRootCertificate CTAuthorityGetResponseCertificateAuthorityRelatedCertificateRecordType = "ROOT_CERTIFICATE"` - `const CTAuthorityGetResponseCertificateAuthorityRelatedCertificateRecordTypeIntermediateCertificate CTAuthorityGetResponseCertificateAuthorityRelatedCertificateRecordType = "INTERMEDIATE_CERTIFICATE"` - `Name string` The full name of the certificate authority (CA). - `RevocationStatus CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatus` The current revocation status of a Certificate Authority (CA) certificate. - `const CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatusNotRevoked CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatus = "NOT_REVOKED"` - `const CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatusRevoked CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatus = "REVOKED"` - `const CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatusParentCERTRevoked CTAuthorityGetResponseCertificateAuthorityRelatedRevocationStatus = "PARENT_CERT_REVOKED"` - `Sha256Fingerprint string` The SHA-256 fingerprint of the intermediate certificate. - `RevocationStatus CTAuthorityGetResponseCertificateAuthorityRevocationStatus` The current revocation status of a Certificate Authority (CA) certificate. - `const CTAuthorityGetResponseCertificateAuthorityRevocationStatusNotRevoked CTAuthorityGetResponseCertificateAuthorityRevocationStatus = "NOT_REVOKED"` - `const CTAuthorityGetResponseCertificateAuthorityRevocationStatusRevoked CTAuthorityGetResponseCertificateAuthorityRevocationStatus = "REVOKED"` - `const CTAuthorityGetResponseCertificateAuthorityRevocationStatusParentCERTRevoked CTAuthorityGetResponseCertificateAuthorityRevocationStatus = "PARENT_CERT_REVOKED"` - `Sha256Fingerprint string` The SHA-256 fingerprint of the intermediate certificate. - `SubjectKeyIdentifier string` The subjectKeyIdentifier value extracted from the certificate PEM. - `ValidFrom string` The start date of the certificate’s validity period (ISO format). - `ValidTo string` The end date of the certificate’s validity period (ISO format). ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) authority, err := client.Radar.CT.Authorities.Get( context.TODO(), "24EDD4E503A8D3FDB5FFB4AF66C887359901CBE687A5A0760D10A08EED99A7C3", radar.CTAuthorityGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", authority.CertificateAuthority) } ``` #### Response ```json { "result": { "certificateAuthority": { "appleStatus": "INCLUDED", "authorityKeyIdentifier": "1TkcnFtvBKqilUzvIN0pdKTFRXE", "certificateRecordType": "ROOT_CERTIFICATE", "chromeStatus": "INCLUDED", "country": "PT", "countryName": "Portugal", "microsoftStatus": "INCLUDED", "mozillaStatus": "INCLUDED", "name": "MULTICERT Advanced Certification Authority 005", "owner": "MULTICERT", "parentName": "MULTICERT Root Certification Authority 01", "parentSha256Fingerprint": "604D32D036895AED3BFEFAEB727C009EC0F2B3CDFA42A1C71730E6A72C3BE9D4", "related": [ { "certificateRecordType": "ROOT_CERTIFICATE", "name": "MULTICERT Advanced Certification Authority 005", "revocationStatus": "NOT_REVOKED", "sha256Fingerprint": "24EDD4E503A8D3FDB5FFB4AF66C887359901CBE687A5A0760D10A08EED99A7C3" } ], "revocationStatus": "NOT_REVOKED", "sha256Fingerprint": "24EDD4E503A8D3FDB5FFB4AF66C887359901CBE687A5A0760D10A08EED99A7C3", "subjectKeyIdentifier": "VbqXmCURhMmiMtD7nFY6iCr4z", "validFrom": "2019-12-09", "validTo": "2032-06-08" } }, "success": true } ``` ## List certificate authorities `client.Radar.CT.Authorities.List(ctx, query) (*CTAuthorityListResponse, error)` **get** `/radar/ct/authorities` Retrieves a list of certificate authorities. ### Parameters - `query CTAuthorityListParams` - `Format param.Field[CTAuthorityListParamsFormat]` Format in which results will be returned. - `const CTAuthorityListParamsFormatJson CTAuthorityListParamsFormat = "JSON"` - `const CTAuthorityListParamsFormatCsv CTAuthorityListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. ### Returns - `type CTAuthorityListResponse struct{…}` - `CertificateAuthorities []CTAuthorityListResponseCertificateAuthority` - `CertificateRecordType CTAuthorityListResponseCertificateAuthoritiesCertificateRecordType` Specifies the type of certificate in the trust chain. - `const CTAuthorityListResponseCertificateAuthoritiesCertificateRecordTypeRootCertificate CTAuthorityListResponseCertificateAuthoritiesCertificateRecordType = "ROOT_CERTIFICATE"` - `const CTAuthorityListResponseCertificateAuthoritiesCertificateRecordTypeIntermediateCertificate CTAuthorityListResponseCertificateAuthoritiesCertificateRecordType = "INTERMEDIATE_CERTIFICATE"` - `Country string` The two-letter ISO country code where the CA organization is based. - `CountryName string` The full country name corresponding to the country code. - `Name string` The full name of the certificate authority (CA). - `Owner string` The organization that owns and operates the CA. - `ParentName string` The name of the parent/root certificate authority that issued this intermediate certificate. - `ParentSha256Fingerprint string` The SHA-256 fingerprint of the parent certificate. - `RevocationStatus CTAuthorityListResponseCertificateAuthoritiesRevocationStatus` The current revocation status of a Certificate Authority (CA) certificate. - `const CTAuthorityListResponseCertificateAuthoritiesRevocationStatusNotRevoked CTAuthorityListResponseCertificateAuthoritiesRevocationStatus = "NOT_REVOKED"` - `const CTAuthorityListResponseCertificateAuthoritiesRevocationStatusRevoked CTAuthorityListResponseCertificateAuthoritiesRevocationStatus = "REVOKED"` - `const CTAuthorityListResponseCertificateAuthoritiesRevocationStatusParentCERTRevoked CTAuthorityListResponseCertificateAuthoritiesRevocationStatus = "PARENT_CERT_REVOKED"` - `Sha256Fingerprint string` The SHA-256 fingerprint of the intermediate certificate. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) authorities, err := client.Radar.CT.Authorities.List(context.TODO(), radar.CTAuthorityListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", authorities.CertificateAuthorities) } ``` #### Response ```json { "result": { "certificateAuthorities": [ { "certificateRecordType": "ROOT_CERTIFICATE", "country": "PT", "countryName": "Portugal", "name": "MULTICERT Advanced Certification Authority 005", "owner": "MULTICERT", "parentName": "MULTICERT Root Certification Authority 01", "parentSha256Fingerprint": "24EDD4E503A8D3FDB5FFB4AF66C887359901CBE687A5A0760D10A08EED99A7C3", "revocationStatus": "NOT_REVOKED", "sha256Fingerprint": "24EDD4E503A8D3FDB5FFB4AF66C887359901CBE687A5A0760D10A08EED99A7C3" } ] }, "success": true } ``` # Logs ## Get certificate log details `client.Radar.CT.Logs.Get(ctx, logSlug, query) (*CTLogGetResponse, error)` **get** `/radar/ct/logs/{log_slug}` Retrieves the requested certificate log information. ### Parameters - `logSlug string` Certificate log slug. - `query CTLogGetParams` - `Format param.Field[CTLogGetParamsFormat]` Format in which results will be returned. - `const CTLogGetParamsFormatJson CTLogGetParamsFormat = "JSON"` - `const CTLogGetParamsFormatCsv CTLogGetParamsFormat = "CSV"` ### Returns - `type CTLogGetResponse struct{…}` - `CertificateLog CTLogGetResponseCertificateLog` - `API CTLogGetResponseCertificateLogAPI` The API standard that the certificate log follows. - `const CTLogGetResponseCertificateLogAPIRfc6962 CTLogGetResponseCertificateLogAPI = "RFC6962"` - `const CTLogGetResponseCertificateLogAPIStatic CTLogGetResponseCertificateLogAPI = "STATIC"` - `AvgThroughput float64` The average throughput of the CT log, measured in certificates per hour (certs/hour). - `Description string` A brief description of the certificate log. - `EndExclusive Time` The end date and time for when the log will stop accepting certificates. - `LastUpdate Time` Timestamp of the most recent update to the CT log. - `Operator string` The organization responsible for operating the certificate log. - `Performance CTLogGetResponseCertificateLogPerformance` Log performance metrics, including averages and per-endpoint details. - `Endpoints []CTLogGetResponseCertificateLogPerformanceEndpoint` - `Endpoint CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint` The certificate log endpoint names used in performance metrics. - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointAddChainNew CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "add-chain (new)"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointAddChainOld CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "add-chain (old)"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointAddPreChainNew CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "add-pre-chain (new)"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointAddPreChainOld CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "add-pre-chain (old)"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointGetEntries CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "get-entries"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointGetRoots CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "get-roots"` - `const CTLogGetResponseCertificateLogPerformanceEndpointsEndpointGetSth CTLogGetResponseCertificateLogPerformanceEndpointsEndpoint = "get-sth"` - `ResponseTime float64` - `Uptime float64` - `ResponseTime float64` - `Uptime float64` - `Related []CTLogGetResponseCertificateLogRelated` Logs from the same operator. - `Description string` A brief description of the certificate log. - `EndExclusive Time` The end date and time for when the log will stop accepting certificates. - `Slug string` A URL-friendly, kebab-case identifier for the certificate log. - `StartInclusive Time` The start date and time for when the log starts accepting certificates. - `State CTLogGetResponseCertificateLogRelatedState` The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html - `const CTLogGetResponseCertificateLogRelatedStateUsable CTLogGetResponseCertificateLogRelatedState = "USABLE"` - `const CTLogGetResponseCertificateLogRelatedStatePending CTLogGetResponseCertificateLogRelatedState = "PENDING"` - `const CTLogGetResponseCertificateLogRelatedStateQualified CTLogGetResponseCertificateLogRelatedState = "QUALIFIED"` - `const CTLogGetResponseCertificateLogRelatedStateReadOnly CTLogGetResponseCertificateLogRelatedState = "READ_ONLY"` - `const CTLogGetResponseCertificateLogRelatedStateRetired CTLogGetResponseCertificateLogRelatedState = "RETIRED"` - `const CTLogGetResponseCertificateLogRelatedStateRejected CTLogGetResponseCertificateLogRelatedState = "REJECTED"` - `Slug string` A URL-friendly, kebab-case identifier for the certificate log. - `StartInclusive Time` The start date and time for when the log starts accepting certificates. - `State CTLogGetResponseCertificateLogState` The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html - `const CTLogGetResponseCertificateLogStateUsable CTLogGetResponseCertificateLogState = "USABLE"` - `const CTLogGetResponseCertificateLogStatePending CTLogGetResponseCertificateLogState = "PENDING"` - `const CTLogGetResponseCertificateLogStateQualified CTLogGetResponseCertificateLogState = "QUALIFIED"` - `const CTLogGetResponseCertificateLogStateReadOnly CTLogGetResponseCertificateLogState = "READ_ONLY"` - `const CTLogGetResponseCertificateLogStateRetired CTLogGetResponseCertificateLogState = "RETIRED"` - `const CTLogGetResponseCertificateLogStateRejected CTLogGetResponseCertificateLogState = "REJECTED"` - `StateTimestamp Time` Timestamp of when the log state was last updated. - `SubmittableCERTCount string` Number of certificates that are eligible for inclusion to this log but have not been included yet. Based on certificates signed by trusted root CAs within the log's accepted date range. - `SubmittedCERTCount string` Number of certificates already included in this CT log. - `URL string` The URL for the certificate log. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) log, err := client.Radar.CT.Logs.Get( context.TODO(), "argon2024", radar.CTLogGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", log.CertificateLog) } ``` #### Response ```json { "result": { "certificateLog": { "api": "RFC6962", "avgThroughput": 0, "description": "Google 'Argon2024' log", "endExclusive": "2025-01-01T00:00:00Z", "lastUpdate": "2025-01-01T00:00:00Z", "operator": "Google", "performance": { "endpoints": [ { "endpoint": "add-chain (new)", "responseTime": 0, "uptime": 0 } ], "responseTime": 0, "uptime": 0 }, "related": [ { "description": "Google 'Argon2024' log", "endExclusive": "2025-01-01T00:00:00Z", "slug": "argon2024", "startInclusive": "2024-01-01T00:00:00Z", "state": "USABLE" } ], "slug": "argon2024", "startInclusive": "2024-01-01T00:00:00Z", "state": "USABLE", "stateTimestamp": "2025-02-01T08:53:20Z", "submittableCertCount": "10", "submittedCertCount": "10", "url": "https://ct.googleapis.com/logs/us1/argon2024/" } }, "success": true } ``` ## List certificate logs `client.Radar.CT.Logs.List(ctx, query) (*CTLogListResponse, error)` **get** `/radar/ct/logs` Retrieves a list of certificate logs. ### Parameters - `query CTLogListParams` - `Format param.Field[CTLogListParamsFormat]` Format in which results will be returned. - `const CTLogListParamsFormatJson CTLogListParamsFormat = "JSON"` - `const CTLogListParamsFormatCsv CTLogListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. ### Returns - `type CTLogListResponse struct{…}` - `CertificateLogs []CTLogListResponseCertificateLog` - `API CTLogListResponseCertificateLogsAPI` The API standard that the certificate log follows. - `const CTLogListResponseCertificateLogsAPIRfc6962 CTLogListResponseCertificateLogsAPI = "RFC6962"` - `const CTLogListResponseCertificateLogsAPIStatic CTLogListResponseCertificateLogsAPI = "STATIC"` - `Description string` A brief description of the certificate log. - `EndExclusive Time` The end date and time for when the log will stop accepting certificates. - `Operator string` The organization responsible for operating the certificate log. - `Slug string` A URL-friendly, kebab-case identifier for the certificate log. - `StartInclusive Time` The start date and time for when the log starts accepting certificates. - `State CTLogListResponseCertificateLogsState` The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html - `const CTLogListResponseCertificateLogsStateUsable CTLogListResponseCertificateLogsState = "USABLE"` - `const CTLogListResponseCertificateLogsStatePending CTLogListResponseCertificateLogsState = "PENDING"` - `const CTLogListResponseCertificateLogsStateQualified CTLogListResponseCertificateLogsState = "QUALIFIED"` - `const CTLogListResponseCertificateLogsStateReadOnly CTLogListResponseCertificateLogsState = "READ_ONLY"` - `const CTLogListResponseCertificateLogsStateRetired CTLogListResponseCertificateLogsState = "RETIRED"` - `const CTLogListResponseCertificateLogsStateRejected CTLogListResponseCertificateLogsState = "REJECTED"` - `StateTimestamp Time` Timestamp of when the log state was last updated. - `URL string` The URL for the certificate log. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) logs, err := client.Radar.CT.Logs.List(context.TODO(), radar.CTLogListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", logs.CertificateLogs) } ``` #### Response ```json { "result": { "certificateLogs": [ { "api": "RFC6962", "description": "Google 'Argon2024' log", "endExclusive": "2025-01-01T00:00:00Z", "operator": "Google", "slug": "argon2024", "startInclusive": "2024-01-01T00:00:00Z", "state": "USABLE", "stateTimestamp": "2025-02-01T08:53:20Z", "url": "https://ct.googleapis.com/logs/us1/argon2024/" } ] }, "success": true } ``` # Annotations ## Get latest annotations `client.Radar.Annotations.List(ctx, query) (*AnnotationListResponse, error)` **get** `/radar/annotations` Retrieves the latest annotations. ### Parameters - `query AnnotationListParams` - `ASN param.Field[int64]` Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. - `DataSource param.Field[AnnotationListParamsDataSource]` Filters results by data source. - `const AnnotationListParamsDataSourceAll AnnotationListParamsDataSource = "ALL"` - `const AnnotationListParamsDataSourceAIBots AnnotationListParamsDataSource = "AI_BOTS"` - `const AnnotationListParamsDataSourceAIGateway AnnotationListParamsDataSource = "AI_GATEWAY"` - `const AnnotationListParamsDataSourceBGP AnnotationListParamsDataSource = "BGP"` - `const AnnotationListParamsDataSourceBots AnnotationListParamsDataSource = "BOTS"` - `const AnnotationListParamsDataSourceConnectionAnomaly AnnotationListParamsDataSource = "CONNECTION_ANOMALY"` - `const AnnotationListParamsDataSourceCT AnnotationListParamsDataSource = "CT"` - `const AnnotationListParamsDataSourceDNS AnnotationListParamsDataSource = "DNS"` - `const AnnotationListParamsDataSourceDNSMagnitude AnnotationListParamsDataSource = "DNS_MAGNITUDE"` - `const AnnotationListParamsDataSourceDNSAS112 AnnotationListParamsDataSource = "DNS_AS112"` - `const AnnotationListParamsDataSourceDos AnnotationListParamsDataSource = "DOS"` - `const AnnotationListParamsDataSourceEmailRouting AnnotationListParamsDataSource = "EMAIL_ROUTING"` - `const AnnotationListParamsDataSourceEmailSecurity AnnotationListParamsDataSource = "EMAIL_SECURITY"` - `const AnnotationListParamsDataSourceFw AnnotationListParamsDataSource = "FW"` - `const AnnotationListParamsDataSourceFwPg AnnotationListParamsDataSource = "FW_PG"` - `const AnnotationListParamsDataSourceHTTP AnnotationListParamsDataSource = "HTTP"` - `const AnnotationListParamsDataSourceHTTPControl AnnotationListParamsDataSource = "HTTP_CONTROL"` - `const AnnotationListParamsDataSourceHTTPCrawlerReferer AnnotationListParamsDataSource = "HTTP_CRAWLER_REFERER"` - `const AnnotationListParamsDataSourceHTTPOrigins AnnotationListParamsDataSource = "HTTP_ORIGINS"` - `const AnnotationListParamsDataSourceIQI AnnotationListParamsDataSource = "IQI"` - `const AnnotationListParamsDataSourceLeakedCredentials AnnotationListParamsDataSource = "LEAKED_CREDENTIALS"` - `const AnnotationListParamsDataSourceNet AnnotationListParamsDataSource = "NET"` - `const AnnotationListParamsDataSourceRobotsTXT AnnotationListParamsDataSource = "ROBOTS_TXT"` - `const AnnotationListParamsDataSourceSpeed AnnotationListParamsDataSource = "SPEED"` - `const AnnotationListParamsDataSourceWorkersAI AnnotationListParamsDataSource = "WORKERS_AI"` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `EventType param.Field[AnnotationListParamsEventType]` Filters results by event type. - `const AnnotationListParamsEventTypeEvent AnnotationListParamsEventType = "EVENT"` - `const AnnotationListParamsEventTypeGeneral AnnotationListParamsEventType = "GENERAL"` - `const AnnotationListParamsEventTypeOutage AnnotationListParamsEventType = "OUTAGE"` - `const AnnotationListParamsEventTypePartialProjection AnnotationListParamsEventType = "PARTIAL_PROJECTION"` - `const AnnotationListParamsEventTypePipeline AnnotationListParamsEventType = "PIPELINE"` - `const AnnotationListParamsEventTypeTrafficAnomaly AnnotationListParamsEventType = "TRAFFIC_ANOMALY"` - `Format param.Field[AnnotationListParamsFormat]` Format in which results will be returned. - `const AnnotationListParamsFormatJson AnnotationListParamsFormat = "JSON"` - `const AnnotationListParamsFormatCsv AnnotationListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `Origin param.Field[string]` Filters results by origin. ### Returns - `type AnnotationListResponse struct{…}` - `Annotations []AnnotationListResponseAnnotation` - `ID string` - `ASNs []int64` - `ASNsDetails []AnnotationListResponseAnnotationsASNsDetail` - `ASN string` - `Name string` - `Locations AnnotationListResponseAnnotationsASNsDetailsLocations` - `Code string` - `Name string` - `DataSource string` - `EventType string` - `Locations []string` - `LocationsDetails []AnnotationListResponseAnnotationsLocationsDetail` - `Code string` - `Name string` - `Origins []string` - `OriginsDetails []AnnotationListResponseAnnotationsOriginsDetail` - `Name string` - `Origin string` - `Outage AnnotationListResponseAnnotationsOutage` - `OutageCause string` - `OutageType string` - `StartDate string` - `Description string` - `EndDate string` - `LinkedURL string` - `Scope string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) annotations, err := client.Radar.Annotations.List(context.TODO(), radar.AnnotationListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", annotations.Annotations) } ``` #### Response ```json { "result": { "annotations": [ { "id": "550", "asns": [ 189 ], "asnsDetails": [ { "asn": "189", "name": "LUMEN-LEGACY-L3-PARTITION", "locations": { "code": "US", "name": "United States" } } ], "dataSource": "ALL", "eventType": "OUTAGE", "locations": [ "US" ], "locationsDetails": [ { "code": "US", "name": "United States" } ], "origins": [ "amazon-us-east-1" ], "originsDetails": [ { "name": "us-east-1 Amazon Web Services", "origin": "amazon-us-east-1" } ], "outage": { "outageCause": "CABLE_CUT", "outageType": "NATIONWIDE" }, "startDate": "2022-09-06T10:00:28Z", "description": "example", "endDate": "2022-09-08T10:00:28Z", "linkedUrl": "http://example.com", "scope": "Colima, Michoacán, México" } ] }, "success": true } ``` # Outages ## Get latest Internet outages and anomalies `client.Radar.Annotations.Outages.Get(ctx, query) (*AnnotationOutageGetResponse, error)` **get** `/radar/annotations/outages` Retrieves the latest Internet outages and anomalies. ### Parameters - `query AnnotationOutageGetParams` - `ASN param.Field[int64]` Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[AnnotationOutageGetParamsFormat]` Format in which results will be returned. - `const AnnotationOutageGetParamsFormatJson AnnotationOutageGetParamsFormat = "JSON"` - `const AnnotationOutageGetParamsFormatCsv AnnotationOutageGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `Origin param.Field[string]` Filters results by origin. ### Returns - `type AnnotationOutageGetResponse struct{…}` - `Annotations []AnnotationOutageGetResponseAnnotation` - `ID string` - `ASNs []int64` - `ASNsDetails []AnnotationOutageGetResponseAnnotationsASNsDetail` - `ASN string` - `Name string` - `Locations AnnotationOutageGetResponseAnnotationsASNsDetailsLocations` - `Code string` - `Name string` - `DataSource string` - `EventType string` - `Locations []string` - `LocationsDetails []AnnotationOutageGetResponseAnnotationsLocationsDetail` - `Code string` - `Name string` - `Origins []string` - `OriginsDetails []AnnotationOutageGetResponseAnnotationsOriginsDetail` - `Name string` - `Origin string` - `Outage AnnotationOutageGetResponseAnnotationsOutage` - `OutageCause string` - `OutageType string` - `StartDate Time` - `Description string` - `EndDate Time` - `LinkedURL string` - `Scope string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) outage, err := client.Radar.Annotations.Outages.Get(context.TODO(), radar.AnnotationOutageGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", outage.Annotations) } ``` #### Response ```json { "result": { "annotations": [ { "id": "550", "asns": [ 189 ], "asnsDetails": [ { "asn": "189", "name": "LUMEN-LEGACY-L3-PARTITION", "locations": { "code": "US", "name": "United States" } } ], "dataSource": "ALL", "eventType": "OUTAGE", "locations": [ "US" ], "locationsDetails": [ { "code": "US", "name": "United States" } ], "origins": [ "amazon-us-east-1" ], "originsDetails": [ { "name": "us-east-1 Amazon Web Services", "origin": "amazon-us-east-1" } ], "outage": { "outageCause": "CABLE_CUT", "outageType": "NATIONWIDE" }, "startDate": "2019-12-27T18:11:19.117Z", "description": "example", "endDate": "2019-12-27T18:11:19.117Z", "linkedUrl": "http://example.com", "scope": "Colima, Michoacán, México" } ] }, "success": true } ``` ## Get the number of outages by location `client.Radar.Annotations.Outages.Locations(ctx, query) (*AnnotationOutageLocationsResponse, error)` **get** `/radar/annotations/outages/locations` Retrieves the number of outages by location. ### Parameters - `query AnnotationOutageLocationsParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[AnnotationOutageLocationsParamsFormat]` Format in which results will be returned. - `const AnnotationOutageLocationsParamsFormatJson AnnotationOutageLocationsParamsFormat = "JSON"` - `const AnnotationOutageLocationsParamsFormatCsv AnnotationOutageLocationsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. ### Returns - `type AnnotationOutageLocationsResponse struct{…}` - `Annotations []AnnotationOutageLocationsResponseAnnotation` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Annotations.Outages.Locations(context.TODO(), radar.AnnotationOutageLocationsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Annotations) } ``` #### Response ```json { "result": { "annotations": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` # BGP ## Get BGP time series `client.Radar.BGP.Timeseries(ctx, query) (*BGPTimeseriesResponse, error)` **get** `/radar/bgp/timeseries` Retrieves BGP updates over time. When requesting updates for an autonomous system, only BGP updates of type announcement are returned. ### Parameters - `query BGPTimeseriesParams` - `AggInterval param.Field[BGPTimeseriesParamsAggInterval]` 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/). - `const BGPTimeseriesParamsAggInterval15m BGPTimeseriesParamsAggInterval = "15m"` - `const BGPTimeseriesParamsAggInterval1h BGPTimeseriesParamsAggInterval = "1h"` - `const BGPTimeseriesParamsAggInterval1d BGPTimeseriesParamsAggInterval = "1d"` - `const BGPTimeseriesParamsAggInterval1w BGPTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BGPTimeseriesParamsFormat]` Format in which results will be returned. - `const BGPTimeseriesParamsFormatJson BGPTimeseriesParamsFormat = "JSON"` - `const BGPTimeseriesParamsFormatCsv BGPTimeseriesParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Prefix param.Field[[]string]` Filters results by BGP network prefix. - `UpdateType param.Field[[]BGPTimeseriesParamsUpdateType]` Filters results by BGP update type. - `const BGPTimeseriesParamsUpdateTypeAnnouncement BGPTimeseriesParamsUpdateType = "ANNOUNCEMENT"` - `const BGPTimeseriesParamsUpdateTypeWithdrawal BGPTimeseriesParamsUpdateType = "WITHDRAWAL"` ### Returns - `type BGPTimeseriesResponse struct{…}` - `Meta BGPTimeseriesResponseMeta` - `AggInterval BGPTimeseriesResponseMetaAggInterval` - `const BGPTimeseriesResponseMetaAggInterval15m BGPTimeseriesResponseMetaAggInterval = "15m"` - `const BGPTimeseriesResponseMetaAggInterval1h BGPTimeseriesResponseMetaAggInterval = "1h"` - `const BGPTimeseriesResponseMetaAggInterval1d BGPTimeseriesResponseMetaAggInterval = "1d"` - `const BGPTimeseriesResponseMetaAggInterval1w BGPTimeseriesResponseMetaAggInterval = "1w"` - `ConfidenceInfo BGPTimeseriesResponseMetaConfidenceInfo` - `Annotations []BGPTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BGPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BGPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BGPTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` - `Serie0 BGPTimeseriesResponseSerie0` - `Timestamps []Time` - `Values []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Timeseries(context.TODO(), radar.BGPTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "aggInterval": "15m", "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" }, "serie_0": { "timestamps": [ "2019-12-27T18:11:19.117Z" ], "values": [ "10" ] } }, "success": true } ``` # Leaks # Events ## Get BGP route leak events `client.Radar.BGP.Leaks.Events.List(ctx, query) (*V4PagePagination[BGPLeakEventListResponse], error)` **get** `/radar/bgp/leaks/events` Retrieves the BGP route leak events. ### Parameters - `query BGPLeakEventListParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `EventID param.Field[int64]` The unique identifier of a event. - `Format param.Field[BGPLeakEventListParamsFormat]` Format in which results will be returned. - `const BGPLeakEventListParamsFormatJson BGPLeakEventListParamsFormat = "JSON"` - `const BGPLeakEventListParamsFormatCsv BGPLeakEventListParamsFormat = "CSV"` - `InvolvedASN param.Field[int64]` ASN that is causing or affected by a route leak event. - `InvolvedCountry param.Field[string]` Country code of a involved ASN in a route leak event. - `LeakASN param.Field[int64]` The leaking AS of a route leak event. - `Page param.Field[int64]` Current page number, starting from 1. - `PerPage param.Field[int64]` Number of entries per page. - `SortBy param.Field[BGPLeakEventListParamsSortBy]` Sorts results by the specified field. - `const BGPLeakEventListParamsSortByID BGPLeakEventListParamsSortBy = "ID"` - `const BGPLeakEventListParamsSortByLeaks BGPLeakEventListParamsSortBy = "LEAKS"` - `const BGPLeakEventListParamsSortByPeers BGPLeakEventListParamsSortBy = "PEERS"` - `const BGPLeakEventListParamsSortByPrefixes BGPLeakEventListParamsSortBy = "PREFIXES"` - `const BGPLeakEventListParamsSortByOrigins BGPLeakEventListParamsSortBy = "ORIGINS"` - `const BGPLeakEventListParamsSortByTime BGPLeakEventListParamsSortBy = "TIME"` - `SortOrder param.Field[BGPLeakEventListParamsSortOrder]` Sort order. - `const BGPLeakEventListParamsSortOrderAsc BGPLeakEventListParamsSortOrder = "ASC"` - `const BGPLeakEventListParamsSortOrderDesc BGPLeakEventListParamsSortOrder = "DESC"` ### Returns - `type BGPLeakEventListResponse struct{…}` - `ASNInfo []BGPLeakEventListResponseASNInfo` - `ASN int64` - `CountryCode string` - `OrgName string` - `Events []BGPLeakEventListResponseEvent` - `ID int64` - `Countries []string` - `DetectedTs string` - `Finished bool` - `LeakASN int64` - `LeakCount int64` - `LeakSeg []int64` - `LeakType int64` - `MaxTs string` - `MinTs string` - `OriginCount int64` - `PeerCount int64` - `PrefixCount int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.Radar.BGP.Leaks.Events.List(context.TODO(), radar.BGPLeakEventListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": { "asn_info": [ { "asn": 0, "country_code": "country_code", "org_name": "org_name" } ], "events": [ { "id": 0, "countries": [ "string" ], "detected_ts": "detected_ts", "finished": true, "leak_asn": 0, "leak_count": 0, "leak_seg": [ 0 ], "leak_type": 0, "max_ts": "max_ts", "min_ts": "min_ts", "origin_count": 0, "peer_count": 0, "prefix_count": 0 } ] }, "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` # Top ## Get top prefixes by BGP updates `client.Radar.BGP.Top.Prefixes(ctx, query) (*BGPTopPrefixesResponse, error)` **get** `/radar/bgp/top/prefixes` Retrieves the top network prefixes by BGP updates. ### Parameters - `query BGPTopPrefixesParams` - `ASN param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BGPTopPrefixesParamsFormat]` Format in which results will be returned. - `const BGPTopPrefixesParamsFormatJson BGPTopPrefixesParamsFormat = "JSON"` - `const BGPTopPrefixesParamsFormatCsv BGPTopPrefixesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `UpdateType param.Field[[]BGPTopPrefixesParamsUpdateType]` Filters results by BGP update type. - `const BGPTopPrefixesParamsUpdateTypeAnnouncement BGPTopPrefixesParamsUpdateType = "ANNOUNCEMENT"` - `const BGPTopPrefixesParamsUpdateTypeWithdrawal BGPTopPrefixesParamsUpdateType = "WITHDRAWAL"` ### Returns - `type BGPTopPrefixesResponse struct{…}` - `Meta BGPTopPrefixesResponseMeta` - `DateRange []BGPTopPrefixesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `Top0 []BGPTopPrefixesResponseTop0` - `Prefix string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Top.Prefixes(context.TODO(), radar.BGPTopPrefixesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ] }, "top_0": [ { "prefix": "2804:77cc:8000::/33", "value": "10" } ] }, "success": true } ``` # Ases ## Get top ASes by BGP updates `client.Radar.BGP.Top.Ases.Get(ctx, query) (*BGPTopAseGetResponse, error)` **get** `/radar/bgp/top/ases` Retrieves the top autonomous systems by BGP updates (announcements only). ### Parameters - `query BGPTopAseGetParams` - `ASN param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BGPTopAseGetParamsFormat]` Format in which results will be returned. - `const BGPTopAseGetParamsFormatJson BGPTopAseGetParamsFormat = "JSON"` - `const BGPTopAseGetParamsFormatCsv BGPTopAseGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Prefix param.Field[[]string]` Filters results by BGP network prefix. - `UpdateType param.Field[[]BGPTopAseGetParamsUpdateType]` Filters results by BGP update type. - `const BGPTopAseGetParamsUpdateTypeAnnouncement BGPTopAseGetParamsUpdateType = "ANNOUNCEMENT"` - `const BGPTopAseGetParamsUpdateTypeWithdrawal BGPTopAseGetParamsUpdateType = "WITHDRAWAL"` ### Returns - `type BGPTopAseGetResponse struct{…}` - `Meta BGPTopAseGetResponseMeta` - `DateRange []BGPTopAseGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `Top0 []BGPTopAseGetResponseTop0` - `ASN int64` - `AsName string` - `Value string` Percentage of updates by this AS out of the total updates by all autonomous systems. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) ase, err := client.Radar.BGP.Top.Ases.Get(context.TODO(), radar.BGPTopAseGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ase.Meta) } ``` #### Response ```json { "result": { "meta": { "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ] }, "top_0": [ { "asn": 714, "ASName": "Apple-Engineering", "value": "0.73996" } ] }, "success": true } ``` ## Get top ASes by prefix count `client.Radar.BGP.Top.Ases.Prefixes(ctx, query) (*BGPTopAsePrefixesResponse, error)` **get** `/radar/bgp/top/ases/prefixes` Retrieves the full list of autonomous systems on the global routing table ordered by announced prefixes count. The data comes from public BGP MRT data archives and updates every 2 hours. ### Parameters - `query BGPTopAsePrefixesParams` - `Country param.Field[string]` Alpha-2 country code. - `Format param.Field[BGPTopAsePrefixesParamsFormat]` Format in which results will be returned. - `const BGPTopAsePrefixesParamsFormatJson BGPTopAsePrefixesParamsFormat = "JSON"` - `const BGPTopAsePrefixesParamsFormatCsv BGPTopAsePrefixesParamsFormat = "CSV"` - `Limit param.Field[int64]` Maximum number of ASes to return. ### Returns - `type BGPTopAsePrefixesResponse struct{…}` - `ASNs []BGPTopAsePrefixesResponseASN` - `ASN int64` - `Country string` - `Name string` - `PfxsCount int64` - `Meta BGPTopAsePrefixesResponseMeta` - `DataTime string` - `QueryTime string` - `TotalPeers int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Top.Ases.Prefixes(context.TODO(), radar.BGPTopAsePrefixesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ASNs) } ``` #### Response ```json { "result": { "asns": [ { "asn": 0, "country": "country", "name": "name", "pfxs_count": 0 } ], "meta": { "data_time": "data_time", "query_time": "query_time", "total_peers": 0 } }, "success": true } ``` # Hijacks # Events ## Get BGP hijack events `client.Radar.BGP.Hijacks.Events.List(ctx, query) (*V4PagePagination[BGPHijackEventListResponse], error)` **get** `/radar/bgp/hijacks/events` Retrieves the BGP hijack events. ### Parameters - `query BGPHijackEventListParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `EventID param.Field[int64]` The unique identifier of a event. - `Format param.Field[BGPHijackEventListParamsFormat]` Format in which results will be returned. - `const BGPHijackEventListParamsFormatJson BGPHijackEventListParamsFormat = "JSON"` - `const BGPHijackEventListParamsFormatCsv BGPHijackEventListParamsFormat = "CSV"` - `HijackerASN param.Field[int64]` The potential hijacker AS of a BGP hijack event. - `InvolvedASN param.Field[int64]` The potential hijacker or victim AS of a BGP hijack event. - `InvolvedCountry param.Field[string]` The country code of the potential hijacker or victim AS of a BGP hijack event. - `MaxConfidence param.Field[int64]` Filters events by maximum confidence score (1-4 low, 5-7 mid, 8+ high). - `MinConfidence param.Field[int64]` Filters events by minimum confidence score (1-4 low, 5-7 mid, 8+ high). - `Page param.Field[int64]` Current page number, starting from 1. - `PerPage param.Field[int64]` Number of entries per page. - `Prefix param.Field[string]` - `SortBy param.Field[BGPHijackEventListParamsSortBy]` Sorts results by the specified field. - `const BGPHijackEventListParamsSortByID BGPHijackEventListParamsSortBy = "ID"` - `const BGPHijackEventListParamsSortByTime BGPHijackEventListParamsSortBy = "TIME"` - `const BGPHijackEventListParamsSortByConfidence BGPHijackEventListParamsSortBy = "CONFIDENCE"` - `SortOrder param.Field[BGPHijackEventListParamsSortOrder]` Sort order. - `const BGPHijackEventListParamsSortOrderAsc BGPHijackEventListParamsSortOrder = "ASC"` - `const BGPHijackEventListParamsSortOrderDesc BGPHijackEventListParamsSortOrder = "DESC"` - `VictimASN param.Field[int64]` The potential victim AS of a BGP hijack event. ### Returns - `type BGPHijackEventListResponse struct{…}` - `ASNInfo []BGPHijackEventListResponseASNInfo` - `ASN int64` - `CountryCode string` - `OrgName string` - `Events []BGPHijackEventListResponseEvent` - `ID int64` - `ConfidenceScore int64` - `Duration int64` - `EventType int64` - `HijackMsgsCount int64` - `HijackerASN int64` - `HijackerCountry string` - `IsStale bool` - `MaxHijackTs string` - `MaxMsgTs string` - `MinHijackTs string` - `OnGoingCount int64` - `PeerASNs []int64` - `PeerIPCount int64` - `Prefixes []string` - `Tags []BGPHijackEventListResponseEventsTag` - `Name string` - `Score int64` - `VictimASNs []int64` - `VictimCountries []string` - `TotalMonitors int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.Radar.BGP.Hijacks.Events.List(context.TODO(), radar.BGPHijackEventListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": { "asn_info": [ { "asn": 0, "country_code": "country_code", "org_name": "org_name" } ], "events": [ { "id": 0, "confidence_score": 0, "duration": 0, "event_type": 0, "hijack_msgs_count": 0, "hijacker_asn": 0, "hijacker_country": "hijacker_country", "is_stale": true, "max_hijack_ts": "max_hijack_ts", "max_msg_ts": "max_msg_ts", "min_hijack_ts": "min_hijack_ts", "on_going_count": 0, "peer_asns": [ 0 ], "peer_ip_count": 0, "prefixes": [ "string" ], "tags": [ { "name": "name", "score": 0 } ], "victim_asns": [ 0 ], "victim_countries": [ "string" ] } ], "total_monitors": 0 }, "result_info": { "count": 0, "page": 0, "per_page": 0, "total_count": 0 }, "success": true } ``` # Routes ## Get Multi-Origin AS (MOAS) prefixes `client.Radar.BGP.Routes.Moas(ctx, query) (*BGPRouteMoasResponse, error)` **get** `/radar/bgp/routes/moas` Retrieves all Multi-Origin AS (MOAS) prefixes in the global routing tables. ### Parameters - `query BGPRouteMoasParams` - `Format param.Field[BGPRouteMoasParamsFormat]` Format in which results will be returned. - `const BGPRouteMoasParamsFormatJson BGPRouteMoasParamsFormat = "JSON"` - `const BGPRouteMoasParamsFormatCsv BGPRouteMoasParamsFormat = "CSV"` - `InvalidOnly param.Field[bool]` Lookup only RPKI invalid MOASes. - `Origin param.Field[int64]` Lookup MOASes originated by the given ASN. - `Prefix param.Field[string]` ### Returns - `type BGPRouteMoasResponse struct{…}` - `Meta BGPRouteMoasResponseMeta` - `DataTime string` - `QueryTime string` - `TotalPeers int64` - `Moas []BGPRouteMoasResponseMoa` - `Origins []BGPRouteMoasResponseMoasOrigin` - `Origin int64` - `PeerCount int64` - `RPKIValidation string` - `Prefix string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Routes.Moas(context.TODO(), radar.BGPRouteMoasParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "data_time": "data_time", "query_time": "query_time", "total_peers": 0 }, "moas": [ { "origins": [ { "origin": 0, "peer_count": 0, "rpki_validation": "rpki_validation" } ], "prefix": "prefix" } ] }, "success": true } ``` ## Get prefix-to-ASN mapping `client.Radar.BGP.Routes.Pfx2as(ctx, query) (*BGPRoutePfx2asResponse, error)` **get** `/radar/bgp/routes/pfx2as` Retrieves the prefix-to-ASN mapping from global routing tables. ### Parameters - `query BGPRoutePfx2asParams` - `Format param.Field[BGPRoutePfx2asParamsFormat]` Format in which results will be returned. - `const BGPRoutePfx2asParamsFormatJson BGPRoutePfx2asParamsFormat = "JSON"` - `const BGPRoutePfx2asParamsFormatCsv BGPRoutePfx2asParamsFormat = "CSV"` - `LongestPrefixMatch param.Field[bool]` Return only results with the longest prefix match for the given prefix. For example, specify a /32 prefix to lookup the origin ASN for an IPv4 address. - `Origin param.Field[int64]` Lookup prefixes originated by the given ASN. - `Prefix param.Field[string]` - `RPKIStatus param.Field[BGPRoutePfx2asParamsRPKIStatus]` Return only results with matching rpki status: valid, invalid or unknown. - `const BGPRoutePfx2asParamsRPKIStatusValid BGPRoutePfx2asParamsRPKIStatus = "VALID"` - `const BGPRoutePfx2asParamsRPKIStatusInvalid BGPRoutePfx2asParamsRPKIStatus = "INVALID"` - `const BGPRoutePfx2asParamsRPKIStatusUnknown BGPRoutePfx2asParamsRPKIStatus = "UNKNOWN"` ### Returns - `type BGPRoutePfx2asResponse struct{…}` - `Meta BGPRoutePfx2asResponseMeta` - `DataTime string` - `QueryTime string` - `TotalPeers int64` - `PrefixOrigins []BGPRoutePfx2asResponsePrefixOrigin` - `Origin int64` - `PeerCount int64` - `Prefix string` - `RPKIValidation string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Routes.Pfx2as(context.TODO(), radar.BGPRoutePfx2asParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "data_time": "data_time", "query_time": "query_time", "total_peers": 0 }, "prefix_origins": [ { "origin": 0, "peer_count": 0, "prefix": "prefix", "rpki_validation": "rpki_validation" } ] }, "success": true } ``` ## Get BGP routing table stats `client.Radar.BGP.Routes.Stats(ctx, query) (*BGPRouteStatsResponse, error)` **get** `/radar/bgp/routes/stats` Retrieves the BGP routing table stats. ### Parameters - `query BGPRouteStatsParams` - `ASN param.Field[int64]` Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. - `Format param.Field[BGPRouteStatsParamsFormat]` Format in which results will be returned. - `const BGPRouteStatsParamsFormatJson BGPRouteStatsParamsFormat = "JSON"` - `const BGPRouteStatsParamsFormatCsv BGPRouteStatsParamsFormat = "CSV"` - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. ### Returns - `type BGPRouteStatsResponse struct{…}` - `Meta BGPRouteStatsResponseMeta` - `DataTime string` - `QueryTime string` - `TotalPeers int64` - `Stats BGPRouteStatsResponseStats` - `DistinctOrigins int64` - `DistinctOriginsIPV4 int64` - `DistinctOriginsIPV6 int64` - `DistinctPrefixes int64` - `DistinctPrefixesIPV4 int64` - `DistinctPrefixesIPV6 int64` - `RoutesInvalid int64` - `RoutesInvalidIPV4 int64` - `RoutesInvalidIPV6 int64` - `RoutesTotal int64` - `RoutesTotalIPV4 int64` - `RoutesTotalIPV6 int64` - `RoutesUnknown int64` - `RoutesUnknownIPV4 int64` - `RoutesUnknownIPV6 int64` - `RoutesValid int64` - `RoutesValidIPV4 int64` - `RoutesValidIPV6 int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Routes.Stats(context.TODO(), radar.BGPRouteStatsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "data_time": "data_time", "query_time": "query_time", "total_peers": 0 }, "stats": { "distinct_origins": 0, "distinct_origins_ipv4": 0, "distinct_origins_ipv6": 0, "distinct_prefixes": 0, "distinct_prefixes_ipv4": 0, "distinct_prefixes_ipv6": 0, "routes_invalid": 0, "routes_invalid_ipv4": 0, "routes_invalid_ipv6": 0, "routes_total": 0, "routes_total_ipv4": 0, "routes_total_ipv6": 0, "routes_unknown": 0, "routes_unknown_ipv4": 0, "routes_unknown_ipv6": 0, "routes_valid": 0, "routes_valid_ipv4": 0, "routes_valid_ipv6": 0 } }, "success": true } ``` ## List ASes from global routing tables `client.Radar.BGP.Routes.Ases(ctx, query) (*BGPRouteAsesResponse, error)` **get** `/radar/bgp/routes/ases` Retrieves all ASes in the current global routing tables with routing statistics. ### Parameters - `query BGPRouteAsesParams` - `Format param.Field[BGPRouteAsesParamsFormat]` Format in which results will be returned. - `const BGPRouteAsesParamsFormatJson BGPRouteAsesParamsFormat = "JSON"` - `const BGPRouteAsesParamsFormatCsv BGPRouteAsesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `SortBy param.Field[BGPRouteAsesParamsSortBy]` Sorts results by the specified field. - `const BGPRouteAsesParamsSortByCone BGPRouteAsesParamsSortBy = "cone"` - `const BGPRouteAsesParamsSortByPfxs BGPRouteAsesParamsSortBy = "pfxs"` - `const BGPRouteAsesParamsSortByIPV4 BGPRouteAsesParamsSortBy = "ipv4"` - `const BGPRouteAsesParamsSortByIPV6 BGPRouteAsesParamsSortBy = "ipv6"` - `const BGPRouteAsesParamsSortByRPKIValid BGPRouteAsesParamsSortBy = "rpki_valid"` - `const BGPRouteAsesParamsSortByRPKIInvalid BGPRouteAsesParamsSortBy = "rpki_invalid"` - `const BGPRouteAsesParamsSortByRPKIUnknown BGPRouteAsesParamsSortBy = "rpki_unknown"` - `SortOrder param.Field[BGPRouteAsesParamsSortOrder]` Sort order. - `const BGPRouteAsesParamsSortOrderAsc BGPRouteAsesParamsSortOrder = "ASC"` - `const BGPRouteAsesParamsSortOrderDesc BGPRouteAsesParamsSortOrder = "DESC"` ### Returns - `type BGPRouteAsesResponse struct{…}` - `ASNs []BGPRouteAsesResponseASN` - `ASN int64` - `ConeSize int64` AS's customer cone size. - `Country string` Alpha-2 code for the AS's registration country. - `IPV4Count int64` Number of IPv4 addresses originated by the AS. - `IPV6Count string` Number of IPv6 addresses originated by the AS. - `Name string` Name of the AS. - `PfxsCount int64` Number of total IP prefixes originated by the AS. - `RPKIInvalid int64` Number of RPKI invalid prefixes originated by the AS. - `RPKIUnknown int64` Number of RPKI unknown prefixes originated by the AS. - `RPKIValid int64` Number of RPKI valid prefixes originated by the AS. - `Meta BGPRouteAsesResponseMeta` - `DataTime string` The timestamp of when the data is generated. - `QueryTime string` The timestamp of the query. - `TotalPeers int64` Total number of route collector peers used to generate this data. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Routes.Ases(context.TODO(), radar.BGPRouteAsesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ASNs) } ``` #### Response ```json { "result": { "asns": [ { "asn": 0, "coneSize": 0, "country": "US", "ipv4Count": 0, "ipv6Count": "1.21e24", "name": "name", "pfxsCount": 0, "rpkiInvalid": 0, "rpkiUnknown": 0, "rpkiValid": 0 } ], "meta": { "dataTime": "2024-06-03T14:00:00", "queryTime": "2024-06-03T14:00:00", "totalPeers": 0 } }, "success": true } ``` ## Get real-time BGP routes for a prefix `client.Radar.BGP.Routes.Realtime(ctx, query) (*BGPRouteRealtimeResponse, error)` **get** `/radar/bgp/routes/realtime` Retrieves real-time BGP routes for a prefix, using public real-time data collectors (RouteViews and RIPE RIS). ### Parameters - `query BGPRouteRealtimeParams` - `Format param.Field[BGPRouteRealtimeParamsFormat]` Format in which results will be returned. - `const BGPRouteRealtimeParamsFormatJson BGPRouteRealtimeParamsFormat = "JSON"` - `const BGPRouteRealtimeParamsFormatCsv BGPRouteRealtimeParamsFormat = "CSV"` - `Prefix param.Field[string]` ### Returns - `type BGPRouteRealtimeResponse struct{…}` - `Meta BGPRouteRealtimeResponseMeta` - `ASNInfo []BGPRouteRealtimeResponseMetaASNInfo` - `AsName string` Name of the autonomous system. - `ASN int64` AS number. - `CountryCode string` Alpha-2 code for the AS's registration country. - `OrgID string` Organization ID. - `OrgName string` Organization name. - `Collectors []BGPRouteRealtimeResponseMetaCollector` - `Collector string` Public route collector ID. - `LatestRealtimeTs string` Latest real-time stream timestamp for this collector. - `LatestRibTs string` Latest RIB dump MRT file timestamp for this collector. - `LatestUpdatesTs string` Latest BGP updates MRT file timestamp for this collector. - `PeersCount int64` Total number of collector peers used from this collector. - `PeersV4Count int64` Total number of collector peers used from this collector for IPv4 prefixes. - `PeersV6Count int64` Total number of collector peers used from this collector for IPv6 prefixes. - `DataTime string` The most recent data timestamp for from the real-time sources. - `PrefixOrigins []BGPRouteRealtimeResponseMetaPrefixOrigin` - `Origin int64` Origin ASN. - `Prefix string` IP prefix of this query. - `RPKIValidation string` Prefix-origin RPKI validation: valid, invalid, unknown. - `TotalPeers int64` Total number of peers. - `TotalVisible int64` Total number of peers seeing this prefix. - `Visibility float64` Ratio of peers seeing this prefix to total number of peers. - `QueryTime string` The timestamp of this query. - `Routes []BGPRouteRealtimeResponseRoute` - `AsPath []int64` AS-level path for this route, from collector to origin. - `Collector string` Public collector ID for this route. - `Communities []string` BGP community values. - `Prefix string` IP prefix of this query. - `Timestamp string` Latest timestamp of change for this route. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.Routes.Realtime(context.TODO(), radar.BGPRouteRealtimeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "asn_info": [ { "as_name": "as_name", "asn": 0, "country_code": "country_code", "org_id": "org_id", "org_name": "org_name" } ], "collectors": [ { "collector": "collector", "latest_realtime_ts": "latest_realtime_ts", "latest_rib_ts": "latest_rib_ts", "latest_updates_ts": "latest_updates_ts", "peers_count": 0, "peers_v4_count": 0, "peers_v6_count": 0 } ], "data_time": "data_time", "prefix_origins": [ { "origin": 0, "prefix": "prefix", "rpki_validation": "rpki_validation", "total_peers": 0, "total_visible": 0, "visibility": 0 } ], "query_time": "query_time" }, "routes": [ { "as_path": [ 0 ], "collector": "collector", "communities": [ "string" ], "prefix": "prefix", "timestamp": "timestamp" } ] }, "success": true } ``` # IPs ## Get announced IP address space time series `client.Radar.BGP.IPs.Timeseries(ctx, query) (*BgpipTimeseriesResponse, error)` **get** `/radar/bgp/ips/timeseries` Retrieves time series data for the announced IP space count, represented as the number of IPv4 /24s and IPv6 /48s, for a given ASN. ### Parameters - `query BGPIPTimeseriesParams` - `ASN param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BgpipTimeseriesParamsFormat]` Format in which results will be returned. - `const BgpipTimeseriesParamsFormatJson BgpipTimeseriesParamsFormat = "JSON"` - `const BgpipTimeseriesParamsFormatCsv BgpipTimeseriesParamsFormat = "CSV"` - `IncludeDelay param.Field[bool]` Includes data delay meta information. - `IPVersion param.Field[[]BgpipTimeseriesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const BgpipTimeseriesParamsIPVersionIPv4 BgpipTimeseriesParamsIPVersion = "IPv4"` - `const BgpipTimeseriesParamsIPVersionIPv6 BgpipTimeseriesParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type BgpipTimeseriesResponse struct{…}` - `Meta BgpipTimeseriesResponseMeta` Metadata for the results. - `AggInterval BgpipTimeseriesResponseMetaAggInterval` 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/). - `const BgpipTimeseriesResponseMetaAggIntervalFifteenMinutes BgpipTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const BgpipTimeseriesResponseMetaAggIntervalOneHour BgpipTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const BgpipTimeseriesResponseMetaAggIntervalOneDay BgpipTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const BgpipTimeseriesResponseMetaAggIntervalOneWeek BgpipTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const BgpipTimeseriesResponseMetaAggIntervalOneMonth BgpipTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo BgpipTimeseriesResponseMetaConfidenceInfo` - `Annotations []BgpipTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BgpipTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BgpipTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BgpipTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BgpipTimeseriesResponseMetaNormalizationPercentage BgpipTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const BgpipTimeseriesResponseMetaNormalizationMin0Max BgpipTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const BgpipTimeseriesResponseMetaNormalizationMinMax BgpipTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const BgpipTimeseriesResponseMetaNormalizationRawValues BgpipTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const BgpipTimeseriesResponseMetaNormalizationPercentageChange BgpipTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BgpipTimeseriesResponseMetaNormalizationRollingAverage BgpipTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BgpipTimeseriesResponseMetaNormalizationOverlappedPercentage BgpipTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BgpipTimeseriesResponseMetaNormalizationRatio BgpipTimeseriesResponseMetaNormalization = "RATIO"` - `Units []BgpipTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Delay BgpipTimeseriesResponseMetaDelay` - `ASNData BgpipTimeseriesResponseMetaDelayASNData` - `DelaySecs float64` - `DelayStr string` - `Healthy bool` - `Latest BgpipTimeseriesResponseMetaDelayASNDataLatest` - `EntriesCount float64` - `Path string` - `Timestamp float64` - `CountryData BgpipTimeseriesResponseMetaDelayCountryData` - `DelaySecs float64` - `DelayStr string` - `Healthy bool` - `Latest BgpipTimeseriesResponseMetaDelayCountryDataLatest` - `Count float64` - `Timestamp float64` - `Healthy bool` - `NowTs float64` - `Serie0 BgpipTimeseriesResponseSerie0` - `IPV4 []string` - `IPV6 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.IPs.Timeseries(context.TODO(), radar.BGPIPTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" } ], "delay": { "asn_data": { "delaySecs": 0, "delayStr": "delayStr", "healthy": true, "latest": { "entries_count": 0, "path": "path", "timestamp": 0 } }, "country_data": { "delaySecs": 0, "delayStr": "delayStr", "healthy": true, "latest": { "count": 0, "timestamp": 0 } }, "healthy": true, "nowTs": 0 } }, "serie_0": { "ipv4": [ "10" ], "ipv6": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` # RPKI # ASPA ## Get ASPA objects snapshot `client.Radar.BGP.RPKI.ASPA.Snapshot(ctx, query) (*BgprpkiaspaSnapshotResponse, error)` **get** `/radar/bgp/rpki/aspa/snapshot` Retrieves current or historical ASPA (Autonomous System Provider Authorization) objects. ASPA objects define which ASNs are authorized upstream providers for a customer ASN. ### Parameters - `query BGPRPKIASPASnapshotParams` - `CustomerASN param.Field[int64]` Filter by customer ASN (the ASN publishing the ASPA object). - `Date param.Field[Time]` Filters results by the specified datetime (ISO 8601). - `Format param.Field[BgprpkiaspaSnapshotParamsFormat]` Format in which results will be returned. - `const BgprpkiaspaSnapshotParamsFormatJson BgprpkiaspaSnapshotParamsFormat = "JSON"` - `const BgprpkiaspaSnapshotParamsFormatCsv BgprpkiaspaSnapshotParamsFormat = "CSV"` - `IncludeASNInfo param.Field[bool]` Include ASN metadata (name, country) in response. - `ProviderASN param.Field[int64]` Filter by provider ASN (an authorized upstream provider in ASPA objects). ### Returns - `type BgprpkiaspaSnapshotResponse struct{…}` - `ASNInfo BgprpkiaspaSnapshotResponseASNInfo` - `Number13335 BgprpkiaspaSnapshotResponseASNInfo13335` - `ASN int64` ASN number. - `Country string` Alpha-2 country code. - `Name string` AS name. - `ASPAObjects []BgprpkiaspaSnapshotResponseASPAObject` - `CustomerASN int64` The customer ASN publishing the ASPA object. - `Providers []int64` - `Meta BgprpkiaspaSnapshotResponseMeta` - `DataTime Time` Timestamp of the underlying data. - `QueryTime Time` Timestamp when the query was executed. - `TotalCount int64` Total number of ASPA objects. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.RPKI.ASPA.Snapshot(context.TODO(), radar.BGPRPKIASPASnapshotParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ASNInfo) } ``` #### Response ```json { "result": { "asnInfo": { "13335": { "asn": 0, "country": "country", "name": "name" } }, "aspaObjects": [ { "customerAsn": 0, "providers": [ 0 ] } ], "meta": { "dataTime": "2019-12-27T18:11:19.117Z", "queryTime": "2019-12-27T18:11:19.117Z", "totalCount": 0 } }, "success": true } ``` ## Get ASPA changes over time `client.Radar.BGP.RPKI.ASPA.Changes(ctx, query) (*BgprpkiaspaChangesResponse, error)` **get** `/radar/bgp/rpki/aspa/changes` Retrieves ASPA (Autonomous System Provider Authorization) changes over time. Returns daily aggregated changes including additions, removals, and modifications of ASPA objects. ### Parameters - `query BGPRPKIASPAChangesParams` - `ASN param.Field[int64]` Filter changes involving this ASN (as customer or provider). - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[BgprpkiaspaChangesParamsFormat]` Format in which results will be returned. - `const BgprpkiaspaChangesParamsFormatJson BgprpkiaspaChangesParamsFormat = "JSON"` - `const BgprpkiaspaChangesParamsFormatCsv BgprpkiaspaChangesParamsFormat = "CSV"` - `IncludeASNInfo param.Field[bool]` Include ASN metadata (name, country) in response. ### Returns - `type BgprpkiaspaChangesResponse struct{…}` - `ASNInfo BgprpkiaspaChangesResponseASNInfo` - `Number13335 BgprpkiaspaChangesResponseASNInfo13335` - `ASN int64` ASN number. - `Country string` Alpha-2 country code. - `Name string` AS name. - `Changes []BgprpkiaspaChangesResponseChange` - `CustomersAdded int64` Number of new ASPA objects created. - `CustomersRemoved int64` Number of ASPA objects deleted. - `Date Time` Date of the changes in ISO 8601 format. - `Entries []BgprpkiaspaChangesResponseChangesEntry` - `CustomerASN int64` The customer ASN affected. - `Providers []int64` - `Type BgprpkiaspaChangesResponseChangesEntriesType` - `const BgprpkiaspaChangesResponseChangesEntriesTypeCustomerAdded BgprpkiaspaChangesResponseChangesEntriesType = "CustomerAdded"` - `const BgprpkiaspaChangesResponseChangesEntriesTypeCustomerRemoved BgprpkiaspaChangesResponseChangesEntriesType = "CustomerRemoved"` - `const BgprpkiaspaChangesResponseChangesEntriesTypeProvidersAdded BgprpkiaspaChangesResponseChangesEntriesType = "ProvidersAdded"` - `const BgprpkiaspaChangesResponseChangesEntriesTypeProvidersRemoved BgprpkiaspaChangesResponseChangesEntriesType = "ProvidersRemoved"` - `ProvidersAdded int64` Number of providers added to existing objects. - `ProvidersRemoved int64` Number of providers removed from existing objects. - `TotalCount int64` Running total of active ASPA objects after this day. - `Meta BgprpkiaspaChangesResponseMeta` - `DataTime Time` Timestamp of the underlying data. - `QueryTime Time` Timestamp when the query was executed. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.RPKI.ASPA.Changes(context.TODO(), radar.BGPRPKIASPAChangesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ASNInfo) } ``` #### Response ```json { "result": { "asnInfo": { "13335": { "asn": 0, "country": "country", "name": "name" } }, "changes": [ { "customersAdded": 0, "customersRemoved": 0, "date": "2019-12-27T18:11:19.117Z", "entries": [ { "customerAsn": 0, "providers": [ 0 ], "type": "CustomerAdded" } ], "providersAdded": 0, "providersRemoved": 0, "totalCount": 0 } ], "meta": { "dataTime": "2019-12-27T18:11:19.117Z", "queryTime": "2019-12-27T18:11:19.117Z" } }, "success": true } ``` ## Get ASPA count time series `client.Radar.BGP.RPKI.ASPA.Timeseries(ctx, query) (*BgprpkiaspaTimeseriesResponse, error)` **get** `/radar/bgp/rpki/aspa/timeseries` Retrieves ASPA (Autonomous System Provider Authorization) object count over time. Supports filtering by RIR or location (country code) to generate multiple named series. If no RIR or location filter is specified, returns total count. ### Parameters - `query BGPRPKIASPATimeseriesParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[BgprpkiaspaTimeseriesParamsFormat]` Format in which results will be returned. - `const BgprpkiaspaTimeseriesParamsFormatJson BgprpkiaspaTimeseriesParamsFormat = "JSON"` - `const BgprpkiaspaTimeseriesParamsFormatCsv BgprpkiaspaTimeseriesParamsFormat = "CSV"` - `Location param.Field[[]string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Rir param.Field[[]BgprpkiaspaTimeseriesParamsRir]` Filter by Regional Internet Registry (RIR). Multiple RIRs generate multiple series. - `const BgprpkiaspaTimeseriesParamsRirRipeNcc BgprpkiaspaTimeseriesParamsRir = "RIPE_NCC"` - `const BgprpkiaspaTimeseriesParamsRirArin BgprpkiaspaTimeseriesParamsRir = "ARIN"` - `const BgprpkiaspaTimeseriesParamsRirApnic BgprpkiaspaTimeseriesParamsRir = "APNIC"` - `const BgprpkiaspaTimeseriesParamsRirLacnic BgprpkiaspaTimeseriesParamsRir = "LACNIC"` - `const BgprpkiaspaTimeseriesParamsRirAfrinic BgprpkiaspaTimeseriesParamsRir = "AFRINIC"` ### Returns - `type BgprpkiaspaTimeseriesResponse struct{…}` - `Meta BgprpkiaspaTimeseriesResponseMeta` - `DataTime Time` Timestamp of the underlying data. - `QueryTime Time` Timestamp when the query was executed. - `Serie0 BgprpkiaspaTimeseriesResponseSerie0` - `Timestamps []Time` - `Values []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.BGP.RPKI.ASPA.Timeseries(context.TODO(), radar.BGPRPKIASPATimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "dataTime": "2019-12-27T18:11:19.117Z", "queryTime": "2019-12-27T18:11:19.117Z" }, "serie_0": { "timestamps": [ "2019-12-27T18:11:19.117Z" ], "values": [ "10" ] } }, "success": true } ``` # Bots ## List bots `client.Radar.Bots.List(ctx, query) (*BotListResponse, error)` **get** `/radar/bots` Retrieves a list of bots. ### Parameters - `query BotListParams` - `BotCategory param.Field[BotListParamsBotCategory]` Filters results by bot category. - `const BotListParamsBotCategorySearchEngineCrawler BotListParamsBotCategory = "SEARCH_ENGINE_CRAWLER"` - `const BotListParamsBotCategorySearchEngineOptimization BotListParamsBotCategory = "SEARCH_ENGINE_OPTIMIZATION"` - `const BotListParamsBotCategoryMonitoringAndAnalytics BotListParamsBotCategory = "MONITORING_AND_ANALYTICS"` - `const BotListParamsBotCategoryAdvertisingAndMarketing BotListParamsBotCategory = "ADVERTISING_AND_MARKETING"` - `const BotListParamsBotCategorySocialMediaMarketing BotListParamsBotCategory = "SOCIAL_MEDIA_MARKETING"` - `const BotListParamsBotCategoryPagePreview BotListParamsBotCategory = "PAGE_PREVIEW"` - `const BotListParamsBotCategoryAcademicResearch BotListParamsBotCategory = "ACADEMIC_RESEARCH"` - `const BotListParamsBotCategorySecurity BotListParamsBotCategory = "SECURITY"` - `const BotListParamsBotCategoryAccessibility BotListParamsBotCategory = "ACCESSIBILITY"` - `const BotListParamsBotCategoryWebhooks BotListParamsBotCategory = "WEBHOOKS"` - `const BotListParamsBotCategoryFeedFetcher BotListParamsBotCategory = "FEED_FETCHER"` - `const BotListParamsBotCategoryAICrawler BotListParamsBotCategory = "AI_CRAWLER"` - `const BotListParamsBotCategoryAggregator BotListParamsBotCategory = "AGGREGATOR"` - `const BotListParamsBotCategoryAIAssistant BotListParamsBotCategory = "AI_ASSISTANT"` - `const BotListParamsBotCategoryAISearch BotListParamsBotCategory = "AI_SEARCH"` - `const BotListParamsBotCategoryArchiver BotListParamsBotCategory = "ARCHIVER"` - `BotOperator param.Field[string]` Filters results by bot operator. - `BotVerificationStatus param.Field[BotListParamsBotVerificationStatus]` Filters results by bot verification status. - `const BotListParamsBotVerificationStatusVerified BotListParamsBotVerificationStatus = "VERIFIED"` - `Format param.Field[BotListParamsFormat]` Format in which results will be returned. - `const BotListParamsFormatJson BotListParamsFormat = "JSON"` - `const BotListParamsFormatCsv BotListParamsFormat = "CSV"` - `Kind param.Field[BotListParamsKind]` Filters results by bot kind. - `const BotListParamsKindAgent BotListParamsKind = "AGENT"` - `const BotListParamsKindBot BotListParamsKind = "BOT"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. ### Returns - `type BotListResponse struct{…}` - `Bots []BotListResponseBot` - `Category string` The category of the bot. - `Description string` A summary for the bot (e.g., purpose). - `Kind string` The kind of the bot. - `Name string` The name of the bot. - `Operator string` The organization that owns and operates the bot. - `Slug string` A kebab-case identifier derived from the bot name. - `UserAgentPatterns []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) bots, err := client.Radar.Bots.List(context.TODO(), radar.BotListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", bots.Bots) } ``` #### Response ```json { "result": { "bots": [ { "category": "AI_CRAWLER", "description": "OpenAI/ChatGPT's web crawler", "kind": "AGENT", "name": "GPTBot", "operator": "OpenAI", "slug": "gptbot", "userAgentPatterns": [ "GPTBot" ] } ] }, "success": true } ``` ## Get bot details `client.Radar.Bots.Get(ctx, botSlug, query) (*BotGetResponse, error)` **get** `/radar/bots/{bot_slug}` Retrieves the requested bot information. ### Parameters - `botSlug string` Bot slug. - `query BotGetParams` - `Format param.Field[BotGetParamsFormat]` Format in which results will be returned. - `const BotGetParamsFormatJson BotGetParamsFormat = "JSON"` - `const BotGetParamsFormatCsv BotGetParamsFormat = "CSV"` ### Returns - `type BotGetResponse struct{…}` - `Bot BotGetResponseBot` - `Category string` The category of the bot. - `Description string` A summary for the bot (e.g., purpose). - `Kind string` The kind of the bot. - `Name string` The name of the bot. - `Operator string` The organization that owns and operates the bot. - `OperatorURL string` The link to the bot documentation. - `Slug string` A kebab-case identifier derived from the bot name. - `UserAgentPatterns []string` - `UserAgents []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) bot, err := client.Radar.Bots.Get( context.TODO(), "gptbot", radar.BotGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", bot.Bot) } ``` #### Response ```json { "result": { "bot": { "category": "AI_CRAWLER", "description": "OpenAI/ChatGPT's web crawler", "kind": "AGENT", "name": "GPTBot", "operator": "OpenAI", "operatorUrl": "https://platform.openai.com/docs/bots", "slug": "gptbot", "userAgentPatterns": [ "GPTBot" ], "userAgents": [ "GPTBot" ] } }, "success": true } ``` ## Get bots HTTP requests distribution by dimension `client.Radar.Bots.Summary(ctx, dimension, query) (*BotSummaryResponse, error)` **get** `/radar/bots/summary/{dimension}` Retrieves an aggregated summary of bots HTTP requests grouped by the specified dimension. ### Parameters - `dimension BotSummaryParamsDimension` Specifies the attribute by which to group the results. - `const BotSummaryParamsDimensionBot BotSummaryParamsDimension = "BOT"` - `const BotSummaryParamsDimensionBotKind BotSummaryParamsDimension = "BOT_KIND"` - `const BotSummaryParamsDimensionBotOperator BotSummaryParamsDimension = "BOT_OPERATOR"` - `const BotSummaryParamsDimensionBotCategory BotSummaryParamsDimension = "BOT_CATEGORY"` - `query BotSummaryParams` - `ASN param.Field[[]string]` 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. - `Bot param.Field[[]string]` Filters results by bot name. - `BotCategory param.Field[[]BotSummaryParamsBotCategory]` Filters results by bot category. - `const BotSummaryParamsBotCategorySearchEngineCrawler BotSummaryParamsBotCategory = "SEARCH_ENGINE_CRAWLER"` - `const BotSummaryParamsBotCategorySearchEngineOptimization BotSummaryParamsBotCategory = "SEARCH_ENGINE_OPTIMIZATION"` - `const BotSummaryParamsBotCategoryMonitoringAndAnalytics BotSummaryParamsBotCategory = "MONITORING_AND_ANALYTICS"` - `const BotSummaryParamsBotCategoryAdvertisingAndMarketing BotSummaryParamsBotCategory = "ADVERTISING_AND_MARKETING"` - `const BotSummaryParamsBotCategorySocialMediaMarketing BotSummaryParamsBotCategory = "SOCIAL_MEDIA_MARKETING"` - `const BotSummaryParamsBotCategoryPagePreview BotSummaryParamsBotCategory = "PAGE_PREVIEW"` - `const BotSummaryParamsBotCategoryAcademicResearch BotSummaryParamsBotCategory = "ACADEMIC_RESEARCH"` - `const BotSummaryParamsBotCategorySecurity BotSummaryParamsBotCategory = "SECURITY"` - `const BotSummaryParamsBotCategoryAccessibility BotSummaryParamsBotCategory = "ACCESSIBILITY"` - `const BotSummaryParamsBotCategoryWebhooks BotSummaryParamsBotCategory = "WEBHOOKS"` - `const BotSummaryParamsBotCategoryFeedFetcher BotSummaryParamsBotCategory = "FEED_FETCHER"` - `const BotSummaryParamsBotCategoryAICrawler BotSummaryParamsBotCategory = "AI_CRAWLER"` - `const BotSummaryParamsBotCategoryAggregator BotSummaryParamsBotCategory = "AGGREGATOR"` - `const BotSummaryParamsBotCategoryAIAssistant BotSummaryParamsBotCategory = "AI_ASSISTANT"` - `const BotSummaryParamsBotCategoryAISearch BotSummaryParamsBotCategory = "AI_SEARCH"` - `const BotSummaryParamsBotCategoryArchiver BotSummaryParamsBotCategory = "ARCHIVER"` - `BotKind param.Field[[]BotSummaryParamsBotKind]` Filters results by bot kind. - `const BotSummaryParamsBotKindAgent BotSummaryParamsBotKind = "AGENT"` - `const BotSummaryParamsBotKindBot BotSummaryParamsBotKind = "BOT"` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `BotVerificationStatus param.Field[[]BotSummaryParamsBotVerificationStatus]` Filters results by bot verification status (Verified vs. Unverified). - `const BotSummaryParamsBotVerificationStatusVerified BotSummaryParamsBotVerificationStatus = "VERIFIED"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotSummaryParamsFormat]` Format in which results will be returned. - `const BotSummaryParamsFormatJson BotSummaryParamsFormat = "JSON"` - `const BotSummaryParamsFormatCsv BotSummaryParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type BotSummaryResponse struct{…}` - `Meta BotSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo BotSummaryResponseMetaConfidenceInfo` - `Annotations []BotSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotSummaryResponseMetaNormalizationPercentage BotSummaryResponseMetaNormalization = "PERCENTAGE"` - `const BotSummaryResponseMetaNormalizationMin0Max BotSummaryResponseMetaNormalization = "MIN0_MAX"` - `const BotSummaryResponseMetaNormalizationMinMax BotSummaryResponseMetaNormalization = "MIN_MAX"` - `const BotSummaryResponseMetaNormalizationRawValues BotSummaryResponseMetaNormalization = "RAW_VALUES"` - `const BotSummaryResponseMetaNormalizationPercentageChange BotSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotSummaryResponseMetaNormalizationRollingAverage BotSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotSummaryResponseMetaNormalizationOverlappedPercentage BotSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotSummaryResponseMetaNormalizationRatio BotSummaryResponseMetaNormalization = "RATIO"` - `Units []BotSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.Summary( context.TODO(), radar.BotSummaryParamsDimensionBot, radar.BotSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Facebook": "10.274394", "GPTBot": "63.40249", "GoogleBot": "8.381743" } }, "success": true } ``` ## Get bots HTTP requests time series `client.Radar.Bots.Timeseries(ctx, query) (*BotTimeseriesResponse, error)` **get** `/radar/bots/timeseries` Retrieves bots HTTP request volume over time. ### Parameters - `query BotTimeseriesParams` - `AggInterval param.Field[BotTimeseriesParamsAggInterval]` 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/). - `const BotTimeseriesParamsAggInterval15m BotTimeseriesParamsAggInterval = "15m"` - `const BotTimeseriesParamsAggInterval1h BotTimeseriesParamsAggInterval = "1h"` - `const BotTimeseriesParamsAggInterval1d BotTimeseriesParamsAggInterval = "1d"` - `const BotTimeseriesParamsAggInterval1w BotTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `Bot param.Field[[]string]` Filters results by bot name. - `BotCategory param.Field[[]BotTimeseriesParamsBotCategory]` Filters results by bot category. - `const BotTimeseriesParamsBotCategorySearchEngineCrawler BotTimeseriesParamsBotCategory = "SEARCH_ENGINE_CRAWLER"` - `const BotTimeseriesParamsBotCategorySearchEngineOptimization BotTimeseriesParamsBotCategory = "SEARCH_ENGINE_OPTIMIZATION"` - `const BotTimeseriesParamsBotCategoryMonitoringAndAnalytics BotTimeseriesParamsBotCategory = "MONITORING_AND_ANALYTICS"` - `const BotTimeseriesParamsBotCategoryAdvertisingAndMarketing BotTimeseriesParamsBotCategory = "ADVERTISING_AND_MARKETING"` - `const BotTimeseriesParamsBotCategorySocialMediaMarketing BotTimeseriesParamsBotCategory = "SOCIAL_MEDIA_MARKETING"` - `const BotTimeseriesParamsBotCategoryPagePreview BotTimeseriesParamsBotCategory = "PAGE_PREVIEW"` - `const BotTimeseriesParamsBotCategoryAcademicResearch BotTimeseriesParamsBotCategory = "ACADEMIC_RESEARCH"` - `const BotTimeseriesParamsBotCategorySecurity BotTimeseriesParamsBotCategory = "SECURITY"` - `const BotTimeseriesParamsBotCategoryAccessibility BotTimeseriesParamsBotCategory = "ACCESSIBILITY"` - `const BotTimeseriesParamsBotCategoryWebhooks BotTimeseriesParamsBotCategory = "WEBHOOKS"` - `const BotTimeseriesParamsBotCategoryFeedFetcher BotTimeseriesParamsBotCategory = "FEED_FETCHER"` - `const BotTimeseriesParamsBotCategoryAICrawler BotTimeseriesParamsBotCategory = "AI_CRAWLER"` - `const BotTimeseriesParamsBotCategoryAggregator BotTimeseriesParamsBotCategory = "AGGREGATOR"` - `const BotTimeseriesParamsBotCategoryAIAssistant BotTimeseriesParamsBotCategory = "AI_ASSISTANT"` - `const BotTimeseriesParamsBotCategoryAISearch BotTimeseriesParamsBotCategory = "AI_SEARCH"` - `const BotTimeseriesParamsBotCategoryArchiver BotTimeseriesParamsBotCategory = "ARCHIVER"` - `BotKind param.Field[[]BotTimeseriesParamsBotKind]` Filters results by bot kind. - `const BotTimeseriesParamsBotKindAgent BotTimeseriesParamsBotKind = "AGENT"` - `const BotTimeseriesParamsBotKindBot BotTimeseriesParamsBotKind = "BOT"` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `BotVerificationStatus param.Field[[]BotTimeseriesParamsBotVerificationStatus]` Filters results by bot verification status (Verified vs. Unverified). - `const BotTimeseriesParamsBotVerificationStatusVerified BotTimeseriesParamsBotVerificationStatus = "VERIFIED"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotTimeseriesParamsFormat]` Format in which results will be returned. - `const BotTimeseriesParamsFormatJson BotTimeseriesParamsFormat = "JSON"` - `const BotTimeseriesParamsFormatCsv BotTimeseriesParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type BotTimeseriesResponse struct{…}` - `Meta BotTimeseriesResponseMeta` Metadata for the results. - `AggInterval BotTimeseriesResponseMetaAggInterval` 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/). - `const BotTimeseriesResponseMetaAggIntervalFifteenMinutes BotTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const BotTimeseriesResponseMetaAggIntervalOneHour BotTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const BotTimeseriesResponseMetaAggIntervalOneDay BotTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const BotTimeseriesResponseMetaAggIntervalOneWeek BotTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const BotTimeseriesResponseMetaAggIntervalOneMonth BotTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo BotTimeseriesResponseMetaConfidenceInfo` - `Annotations []BotTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotTimeseriesResponseMetaNormalizationPercentage BotTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const BotTimeseriesResponseMetaNormalizationMin0Max BotTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const BotTimeseriesResponseMetaNormalizationMinMax BotTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const BotTimeseriesResponseMetaNormalizationRawValues BotTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const BotTimeseriesResponseMetaNormalizationPercentageChange BotTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotTimeseriesResponseMetaNormalizationRollingAverage BotTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotTimeseriesResponseMetaNormalizationOverlappedPercentage BotTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotTimeseriesResponseMetaNormalizationRatio BotTimeseriesResponseMetaNormalization = "RATIO"` - `Units []BotTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.Timeseries(context.TODO(), radar.BotTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 time series distribution of bots HTTP requests by dimension. `client.Radar.Bots.TimeseriesGroups(ctx, dimension, query) (*BotTimeseriesGroupsResponse, error)` **get** `/radar/bots/timeseries_groups/{dimension}` Retrieves the distribution of HTTP requests from bots, grouped by the specified dimension over time. ### Parameters - `dimension BotTimeseriesGroupsParamsDimension` Specifies the attribute by which to group the results. - `const BotTimeseriesGroupsParamsDimensionBot BotTimeseriesGroupsParamsDimension = "BOT"` - `const BotTimeseriesGroupsParamsDimensionBotKind BotTimeseriesGroupsParamsDimension = "BOT_KIND"` - `const BotTimeseriesGroupsParamsDimensionBotOperator BotTimeseriesGroupsParamsDimension = "BOT_OPERATOR"` - `const BotTimeseriesGroupsParamsDimensionBotCategory BotTimeseriesGroupsParamsDimension = "BOT_CATEGORY"` - `query BotTimeseriesGroupsParams` - `AggInterval param.Field[BotTimeseriesGroupsParamsAggInterval]` 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/). - `const BotTimeseriesGroupsParamsAggInterval15m BotTimeseriesGroupsParamsAggInterval = "15m"` - `const BotTimeseriesGroupsParamsAggInterval1h BotTimeseriesGroupsParamsAggInterval = "1h"` - `const BotTimeseriesGroupsParamsAggInterval1d BotTimeseriesGroupsParamsAggInterval = "1d"` - `const BotTimeseriesGroupsParamsAggInterval1w BotTimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `Bot param.Field[[]string]` Filters results by bot name. - `BotCategory param.Field[[]BotTimeseriesGroupsParamsBotCategory]` Filters results by bot category. - `const BotTimeseriesGroupsParamsBotCategorySearchEngineCrawler BotTimeseriesGroupsParamsBotCategory = "SEARCH_ENGINE_CRAWLER"` - `const BotTimeseriesGroupsParamsBotCategorySearchEngineOptimization BotTimeseriesGroupsParamsBotCategory = "SEARCH_ENGINE_OPTIMIZATION"` - `const BotTimeseriesGroupsParamsBotCategoryMonitoringAndAnalytics BotTimeseriesGroupsParamsBotCategory = "MONITORING_AND_ANALYTICS"` - `const BotTimeseriesGroupsParamsBotCategoryAdvertisingAndMarketing BotTimeseriesGroupsParamsBotCategory = "ADVERTISING_AND_MARKETING"` - `const BotTimeseriesGroupsParamsBotCategorySocialMediaMarketing BotTimeseriesGroupsParamsBotCategory = "SOCIAL_MEDIA_MARKETING"` - `const BotTimeseriesGroupsParamsBotCategoryPagePreview BotTimeseriesGroupsParamsBotCategory = "PAGE_PREVIEW"` - `const BotTimeseriesGroupsParamsBotCategoryAcademicResearch BotTimeseriesGroupsParamsBotCategory = "ACADEMIC_RESEARCH"` - `const BotTimeseriesGroupsParamsBotCategorySecurity BotTimeseriesGroupsParamsBotCategory = "SECURITY"` - `const BotTimeseriesGroupsParamsBotCategoryAccessibility BotTimeseriesGroupsParamsBotCategory = "ACCESSIBILITY"` - `const BotTimeseriesGroupsParamsBotCategoryWebhooks BotTimeseriesGroupsParamsBotCategory = "WEBHOOKS"` - `const BotTimeseriesGroupsParamsBotCategoryFeedFetcher BotTimeseriesGroupsParamsBotCategory = "FEED_FETCHER"` - `const BotTimeseriesGroupsParamsBotCategoryAICrawler BotTimeseriesGroupsParamsBotCategory = "AI_CRAWLER"` - `const BotTimeseriesGroupsParamsBotCategoryAggregator BotTimeseriesGroupsParamsBotCategory = "AGGREGATOR"` - `const BotTimeseriesGroupsParamsBotCategoryAIAssistant BotTimeseriesGroupsParamsBotCategory = "AI_ASSISTANT"` - `const BotTimeseriesGroupsParamsBotCategoryAISearch BotTimeseriesGroupsParamsBotCategory = "AI_SEARCH"` - `const BotTimeseriesGroupsParamsBotCategoryArchiver BotTimeseriesGroupsParamsBotCategory = "ARCHIVER"` - `BotKind param.Field[[]BotTimeseriesGroupsParamsBotKind]` Filters results by bot kind. - `const BotTimeseriesGroupsParamsBotKindAgent BotTimeseriesGroupsParamsBotKind = "AGENT"` - `const BotTimeseriesGroupsParamsBotKindBot BotTimeseriesGroupsParamsBotKind = "BOT"` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `BotVerificationStatus param.Field[[]BotTimeseriesGroupsParamsBotVerificationStatus]` Filters results by bot verification status (Verified vs. Unverified). - `const BotTimeseriesGroupsParamsBotVerificationStatusVerified BotTimeseriesGroupsParamsBotVerificationStatus = "VERIFIED"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const BotTimeseriesGroupsParamsFormatJson BotTimeseriesGroupsParamsFormat = "JSON"` - `const BotTimeseriesGroupsParamsFormatCsv BotTimeseriesGroupsParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type BotTimeseriesGroupsResponse struct{…}` - `Meta BotTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval BotTimeseriesGroupsResponseMetaAggInterval` 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/). - `const BotTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes BotTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const BotTimeseriesGroupsResponseMetaAggIntervalOneHour BotTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const BotTimeseriesGroupsResponseMetaAggIntervalOneDay BotTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const BotTimeseriesGroupsResponseMetaAggIntervalOneWeek BotTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const BotTimeseriesGroupsResponseMetaAggIntervalOneMonth BotTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo BotTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotTimeseriesGroupsResponseMetaNormalizationPercentage BotTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const BotTimeseriesGroupsResponseMetaNormalizationMin0Max BotTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const BotTimeseriesGroupsResponseMetaNormalizationMinMax BotTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const BotTimeseriesGroupsResponseMetaNormalizationRawValues BotTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const BotTimeseriesGroupsResponseMetaNormalizationPercentageChange BotTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotTimeseriesGroupsResponseMetaNormalizationRollingAverage BotTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage BotTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotTimeseriesGroupsResponseMetaNormalizationRatio BotTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []BotTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 BotTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.TimeseriesGroups( context.TODO(), radar.BotTimeseriesGroupsParamsDimensionBot, radar.BotTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Web Crawlers ## Get crawler HTTP request distribution by dimension `client.Radar.Bots.WebCrawlers.Summary(ctx, dimension, query) (*BotWebCrawlerSummaryResponse, error)` **get** `/radar/bots/crawlers/summary/{dimension}` Retrieves an aggregated summary of HTTP requests from crawlers, grouped by the specified dimension. ### Parameters - `dimension BotWebCrawlerSummaryParamsDimension` Specifies the attribute by which to group the results. - `const BotWebCrawlerSummaryParamsDimensionClientType BotWebCrawlerSummaryParamsDimension = "CLIENT_TYPE"` - `const BotWebCrawlerSummaryParamsDimensionUserAgent BotWebCrawlerSummaryParamsDimension = "USER_AGENT"` - `const BotWebCrawlerSummaryParamsDimensionReferer BotWebCrawlerSummaryParamsDimension = "REFERER"` - `const BotWebCrawlerSummaryParamsDimensionCrawlReferRatio BotWebCrawlerSummaryParamsDimension = "CRAWL_REFER_RATIO"` - `const BotWebCrawlerSummaryParamsDimensionVertical BotWebCrawlerSummaryParamsDimension = "VERTICAL"` - `const BotWebCrawlerSummaryParamsDimensionIndustry BotWebCrawlerSummaryParamsDimension = "INDUSTRY"` - `query BotWebCrawlerSummaryParams` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `ClientType param.Field[[]BotWebCrawlerSummaryParamsClientType]` Filters results by agent type. - `const BotWebCrawlerSummaryParamsClientTypeHuman BotWebCrawlerSummaryParamsClientType = "HUMAN"` - `const BotWebCrawlerSummaryParamsClientTypeNonAIBot BotWebCrawlerSummaryParamsClientType = "NON_AI_BOT"` - `const BotWebCrawlerSummaryParamsClientTypeAIBot BotWebCrawlerSummaryParamsClientType = "AI_BOT"` - `const BotWebCrawlerSummaryParamsClientTypeMixedPurpose BotWebCrawlerSummaryParamsClientType = "MIXED_PURPOSE"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotWebCrawlerSummaryParamsFormat]` Format in which results will be returned. - `const BotWebCrawlerSummaryParamsFormatJson BotWebCrawlerSummaryParamsFormat = "JSON"` - `const BotWebCrawlerSummaryParamsFormatCsv BotWebCrawlerSummaryParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type BotWebCrawlerSummaryResponse struct{…}` - `Meta BotWebCrawlerSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo BotWebCrawlerSummaryResponseMetaConfidenceInfo` - `Annotations []BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotWebCrawlerSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotWebCrawlerSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotWebCrawlerSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotWebCrawlerSummaryResponseMetaNormalizationPercentage BotWebCrawlerSummaryResponseMetaNormalization = "PERCENTAGE"` - `const BotWebCrawlerSummaryResponseMetaNormalizationMin0Max BotWebCrawlerSummaryResponseMetaNormalization = "MIN0_MAX"` - `const BotWebCrawlerSummaryResponseMetaNormalizationMinMax BotWebCrawlerSummaryResponseMetaNormalization = "MIN_MAX"` - `const BotWebCrawlerSummaryResponseMetaNormalizationRawValues BotWebCrawlerSummaryResponseMetaNormalization = "RAW_VALUES"` - `const BotWebCrawlerSummaryResponseMetaNormalizationPercentageChange BotWebCrawlerSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotWebCrawlerSummaryResponseMetaNormalizationRollingAverage BotWebCrawlerSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotWebCrawlerSummaryResponseMetaNormalizationOverlappedPercentage BotWebCrawlerSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotWebCrawlerSummaryResponseMetaNormalizationRatio BotWebCrawlerSummaryResponseMetaNormalization = "RATIO"` - `Units []BotWebCrawlerSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.WebCrawlers.Summary( context.TODO(), radar.BotWebCrawlerSummaryParamsDimensionClientType, radar.BotWebCrawlerSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Claude": "63.40249", "DuckDuckGo": "10.274394", "Google": "8.381743" } }, "success": true } ``` ## Get time series of crawler HTTP request distribution by dimension `client.Radar.Bots.WebCrawlers.TimeseriesGroups(ctx, dimension, query) (*BotWebCrawlerTimeseriesGroupsResponse, error)` **get** `/radar/bots/crawlers/timeseries_groups/{dimension}` Retrieves the distribution of HTTP requests from crawlers, grouped by the specified dimension over time. ### Parameters - `dimension BotWebCrawlerTimeseriesGroupsParamsDimension` Specifies the attribute by which to group the results. - `const BotWebCrawlerTimeseriesGroupsParamsDimensionClientType BotWebCrawlerTimeseriesGroupsParamsDimension = "CLIENT_TYPE"` - `const BotWebCrawlerTimeseriesGroupsParamsDimensionUserAgent BotWebCrawlerTimeseriesGroupsParamsDimension = "USER_AGENT"` - `const BotWebCrawlerTimeseriesGroupsParamsDimensionReferer BotWebCrawlerTimeseriesGroupsParamsDimension = "REFERER"` - `const BotWebCrawlerTimeseriesGroupsParamsDimensionCrawlReferRatio BotWebCrawlerTimeseriesGroupsParamsDimension = "CRAWL_REFER_RATIO"` - `const BotWebCrawlerTimeseriesGroupsParamsDimensionVertical BotWebCrawlerTimeseriesGroupsParamsDimension = "VERTICAL"` - `const BotWebCrawlerTimeseriesGroupsParamsDimensionIndustry BotWebCrawlerTimeseriesGroupsParamsDimension = "INDUSTRY"` - `query BotWebCrawlerTimeseriesGroupsParams` - `AggInterval param.Field[BotWebCrawlerTimeseriesGroupsParamsAggInterval]` 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/). - `const BotWebCrawlerTimeseriesGroupsParamsAggInterval15m BotWebCrawlerTimeseriesGroupsParamsAggInterval = "15m"` - `const BotWebCrawlerTimeseriesGroupsParamsAggInterval1h BotWebCrawlerTimeseriesGroupsParamsAggInterval = "1h"` - `const BotWebCrawlerTimeseriesGroupsParamsAggInterval1d BotWebCrawlerTimeseriesGroupsParamsAggInterval = "1d"` - `const BotWebCrawlerTimeseriesGroupsParamsAggInterval1w BotWebCrawlerTimeseriesGroupsParamsAggInterval = "1w"` - `BotOperator param.Field[[]string]` Filters results by bot operator. - `ClientType param.Field[[]BotWebCrawlerTimeseriesGroupsParamsClientType]` Filters results by agent type. - `const BotWebCrawlerTimeseriesGroupsParamsClientTypeHuman BotWebCrawlerTimeseriesGroupsParamsClientType = "HUMAN"` - `const BotWebCrawlerTimeseriesGroupsParamsClientTypeNonAIBot BotWebCrawlerTimeseriesGroupsParamsClientType = "NON_AI_BOT"` - `const BotWebCrawlerTimeseriesGroupsParamsClientTypeAIBot BotWebCrawlerTimeseriesGroupsParamsClientType = "AI_BOT"` - `const BotWebCrawlerTimeseriesGroupsParamsClientTypeMixedPurpose BotWebCrawlerTimeseriesGroupsParamsClientType = "MIXED_PURPOSE"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[BotWebCrawlerTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const BotWebCrawlerTimeseriesGroupsParamsFormatJson BotWebCrawlerTimeseriesGroupsParamsFormat = "JSON"` - `const BotWebCrawlerTimeseriesGroupsParamsFormatCsv BotWebCrawlerTimeseriesGroupsParamsFormat = "CSV"` - `Industry param.Field[[]string]` Filters results by industry. - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Vertical param.Field[[]string]` Filters results by vertical. ### Returns - `type BotWebCrawlerTimeseriesGroupsResponse struct{…}` - `Meta BotWebCrawlerTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval` 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/). - `const BotWebCrawlerTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaAggIntervalOneHour BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaAggIntervalOneDay BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaAggIntervalOneWeek BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaAggIntervalOneMonth BotWebCrawlerTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly BotWebCrawlerTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []BotWebCrawlerTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization BotWebCrawlerTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationPercentage BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationMin0Max BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationMinMax BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationRawValues BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationPercentageChange BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationRollingAverage BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const BotWebCrawlerTimeseriesGroupsResponseMetaNormalizationRatio BotWebCrawlerTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []BotWebCrawlerTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 BotWebCrawlerTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Bots.WebCrawlers.TimeseriesGroups( context.TODO(), radar.BotWebCrawlerTimeseriesGroupsParamsDimensionClientType, radar.BotWebCrawlerTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Datasets ## List datasets `client.Radar.Datasets.List(ctx, query) (*DatasetListResponse, error)` **get** `/radar/datasets` Retrieves a list of datasets. ### Parameters - `query DatasetListParams` - `DatasetType param.Field[DatasetListParamsDatasetType]` Filters results by dataset type. - `const DatasetListParamsDatasetTypeRankingBucket DatasetListParamsDatasetType = "RANKING_BUCKET"` - `const DatasetListParamsDatasetTypeReport DatasetListParamsDatasetType = "REPORT"` - `Date param.Field[Time]` Filters results by the specified date. - `Format param.Field[DatasetListParamsFormat]` Format in which results will be returned. - `const DatasetListParamsFormatJson DatasetListParamsFormat = "JSON"` - `const DatasetListParamsFormatCsv DatasetListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. ### Returns - `type DatasetListResponse struct{…}` - `Datasets []DatasetListResponseDataset` - `ID int64` - `Description string` - `Meta unknown` - `Tags []string` - `Title string` - `Type string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) datasets, err := client.Radar.Datasets.List(context.TODO(), radar.DatasetListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", datasets.Datasets) } ``` #### Response ```json { "result": { "datasets": [ { "id": 3, "description": "This dataset contains a list of the op 20000 domains globally", "meta": {}, "tags": [ "global" ], "title": "Top bucket 20000 domains", "type": "RANKING_BUCKET" } ] }, "success": true } ``` ## Get dataset CSV stream `client.Radar.Datasets.Get(ctx, alias) (*string, error)` **get** `/radar/datasets/{alias}` Retrieves the CSV content of a given dataset by alias or ID. When getting the content by alias the latest dataset is returned, optionally filtered by the latest available at a given date. ### Parameters - `alias string` Dataset alias or ID. ### Returns - `type DatasetGetResponse string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) dataset, err := client.Radar.Datasets.Get(context.TODO(), "ranking_top_1000") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", dataset) } ``` ## Get dataset download URL `client.Radar.Datasets.Download(ctx, params) (*DatasetDownloadResponse, error)` **post** `/radar/datasets/download` Retrieves an URL to download a single dataset. ### Parameters - `params DatasetDownloadParams` - `DatasetID param.Field[int64]` Body param - `Format param.Field[DatasetDownloadParamsFormat]` Query param: Format in which results will be returned. - `const DatasetDownloadParamsFormatJson DatasetDownloadParamsFormat = "JSON"` - `const DatasetDownloadParamsFormatCsv DatasetDownloadParamsFormat = "CSV"` ### Returns - `type DatasetDownloadResponse struct{…}` - `Dataset DatasetDownloadResponseDataset` - `URL string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Datasets.Download(context.TODO(), radar.DatasetDownloadParams{ DatasetID: cloudflare.F(int64(3)), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Dataset) } ``` #### Response ```json { "result": { "dataset": { "url": "https://example.com/download" } } } ``` # DNS ## Get DNS summary by dimension `client.Radar.DNS.SummaryV2(ctx, dimension, query) (*DNSSummaryV2Response, error)` **get** `/radar/dns/summary/{dimension}` Retrieves the distribution of DNS queries by the specified dimension. ### Parameters - `dimension DNSSummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const DNSSummaryV2ParamsDimensionAs DNSSummaryV2ParamsDimension = "AS"` - `const DNSSummaryV2ParamsDimensionCacheHit DNSSummaryV2ParamsDimension = "CACHE_HIT"` - `const DNSSummaryV2ParamsDimensionDNSSEC DNSSummaryV2ParamsDimension = "DNSSEC"` - `const DNSSummaryV2ParamsDimensionDNSSECAware DNSSummaryV2ParamsDimension = "DNSSEC_AWARE"` - `const DNSSummaryV2ParamsDimensionDNSSECE2E DNSSummaryV2ParamsDimension = "DNSSEC_E2E"` - `const DNSSummaryV2ParamsDimensionIPVersion DNSSummaryV2ParamsDimension = "IP_VERSION"` - `const DNSSummaryV2ParamsDimensionLocation DNSSummaryV2ParamsDimension = "LOCATION"` - `const DNSSummaryV2ParamsDimensionMatchingAnswer DNSSummaryV2ParamsDimension = "MATCHING_ANSWER"` - `const DNSSummaryV2ParamsDimensionProtocol DNSSummaryV2ParamsDimension = "PROTOCOL"` - `const DNSSummaryV2ParamsDimensionQueryType DNSSummaryV2ParamsDimension = "QUERY_TYPE"` - `const DNSSummaryV2ParamsDimensionResponseCode DNSSummaryV2ParamsDimension = "RESPONSE_CODE"` - `const DNSSummaryV2ParamsDimensionResponseTTL DNSSummaryV2ParamsDimension = "RESPONSE_TTL"` - `const DNSSummaryV2ParamsDimensionTLD DNSSummaryV2ParamsDimension = "TLD"` - `const DNSSummaryV2ParamsDimensionTLDDNSMagnitude DNSSummaryV2ParamsDimension = "TLD_DNS_MAGNITUDE"` - `query DNSSummaryV2Params` - `ASN param.Field[[]string]` 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. - `CacheHit param.Field[[]bool]` Filters results based on cache status. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DNSSEC param.Field[[]DNSSummaryV2ParamsDNSSEC]` Filters results based on DNSSEC (DNS Security Extensions) support. - `const DNSSummaryV2ParamsDNSSECInvalid DNSSummaryV2ParamsDNSSEC = "INVALID"` - `const DNSSummaryV2ParamsDNSSECInsecure DNSSummaryV2ParamsDNSSEC = "INSECURE"` - `const DNSSummaryV2ParamsDNSSECSecure DNSSummaryV2ParamsDNSSEC = "SECURE"` - `const DNSSummaryV2ParamsDNSSECOther DNSSummaryV2ParamsDNSSEC = "OTHER"` - `DNSSECAware param.Field[[]DNSSummaryV2ParamsDNSSECAware]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `const DNSSummaryV2ParamsDNSSECAwareSupported DNSSummaryV2ParamsDNSSECAware = "SUPPORTED"` - `const DNSSummaryV2ParamsDNSSECAwareNotSupported DNSSummaryV2ParamsDNSSECAware = "NOT_SUPPORTED"` - `DNSSECE2E param.Field[[]bool]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `Format param.Field[DNSSummaryV2ParamsFormat]` Format in which results will be returned. - `const DNSSummaryV2ParamsFormatJson DNSSummaryV2ParamsFormat = "JSON"` - `const DNSSummaryV2ParamsFormatCsv DNSSummaryV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]DNSSummaryV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const DNSSummaryV2ParamsIPVersionIPv4 DNSSummaryV2ParamsIPVersion = "IPv4"` - `const DNSSummaryV2ParamsIPVersionIPv6 DNSSummaryV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MatchingAnswer param.Field[[]bool]` Filters results based on whether the queries have a matching answer. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryV2ParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryV2ParamsProtocolUdp DNSSummaryV2ParamsProtocol = "UDP"` - `const DNSSummaryV2ParamsProtocolTCP DNSSummaryV2ParamsProtocol = "TCP"` - `const DNSSummaryV2ParamsProtocolHTTPS DNSSummaryV2ParamsProtocol = "HTTPS"` - `const DNSSummaryV2ParamsProtocolTLS DNSSummaryV2ParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryV2ParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryV2ParamsQueryTypeA DNSSummaryV2ParamsQueryType = "A"` - `const DNSSummaryV2ParamsQueryTypeAAAA DNSSummaryV2ParamsQueryType = "AAAA"` - `const DNSSummaryV2ParamsQueryTypeA6 DNSSummaryV2ParamsQueryType = "A6"` - `const DNSSummaryV2ParamsQueryTypeAfsdb DNSSummaryV2ParamsQueryType = "AFSDB"` - `const DNSSummaryV2ParamsQueryTypeAny DNSSummaryV2ParamsQueryType = "ANY"` - `const DNSSummaryV2ParamsQueryTypeApl DNSSummaryV2ParamsQueryType = "APL"` - `const DNSSummaryV2ParamsQueryTypeAtma DNSSummaryV2ParamsQueryType = "ATMA"` - `const DNSSummaryV2ParamsQueryTypeAXFR DNSSummaryV2ParamsQueryType = "AXFR"` - `const DNSSummaryV2ParamsQueryTypeCAA DNSSummaryV2ParamsQueryType = "CAA"` - `const DNSSummaryV2ParamsQueryTypeCdnskey DNSSummaryV2ParamsQueryType = "CDNSKEY"` - `const DNSSummaryV2ParamsQueryTypeCds DNSSummaryV2ParamsQueryType = "CDS"` - `const DNSSummaryV2ParamsQueryTypeCERT DNSSummaryV2ParamsQueryType = "CERT"` - `const DNSSummaryV2ParamsQueryTypeCNAME DNSSummaryV2ParamsQueryType = "CNAME"` - `const DNSSummaryV2ParamsQueryTypeCsync DNSSummaryV2ParamsQueryType = "CSYNC"` - `const DNSSummaryV2ParamsQueryTypeDhcid DNSSummaryV2ParamsQueryType = "DHCID"` - `const DNSSummaryV2ParamsQueryTypeDlv DNSSummaryV2ParamsQueryType = "DLV"` - `const DNSSummaryV2ParamsQueryTypeDname DNSSummaryV2ParamsQueryType = "DNAME"` - `const DNSSummaryV2ParamsQueryTypeDNSKEY DNSSummaryV2ParamsQueryType = "DNSKEY"` - `const DNSSummaryV2ParamsQueryTypeDoa DNSSummaryV2ParamsQueryType = "DOA"` - `const DNSSummaryV2ParamsQueryTypeDS DNSSummaryV2ParamsQueryType = "DS"` - `const DNSSummaryV2ParamsQueryTypeEid DNSSummaryV2ParamsQueryType = "EID"` - `const DNSSummaryV2ParamsQueryTypeEui48 DNSSummaryV2ParamsQueryType = "EUI48"` - `const DNSSummaryV2ParamsQueryTypeEui64 DNSSummaryV2ParamsQueryType = "EUI64"` - `const DNSSummaryV2ParamsQueryTypeGpos DNSSummaryV2ParamsQueryType = "GPOS"` - `const DNSSummaryV2ParamsQueryTypeGid DNSSummaryV2ParamsQueryType = "GID"` - `const DNSSummaryV2ParamsQueryTypeHinfo DNSSummaryV2ParamsQueryType = "HINFO"` - `const DNSSummaryV2ParamsQueryTypeHip DNSSummaryV2ParamsQueryType = "HIP"` - `const DNSSummaryV2ParamsQueryTypeHTTPS DNSSummaryV2ParamsQueryType = "HTTPS"` - `const DNSSummaryV2ParamsQueryTypeIpseckey DNSSummaryV2ParamsQueryType = "IPSECKEY"` - `const DNSSummaryV2ParamsQueryTypeIsdn DNSSummaryV2ParamsQueryType = "ISDN"` - `const DNSSummaryV2ParamsQueryTypeIxfr DNSSummaryV2ParamsQueryType = "IXFR"` - `const DNSSummaryV2ParamsQueryTypeKey DNSSummaryV2ParamsQueryType = "KEY"` - `const DNSSummaryV2ParamsQueryTypeKx DNSSummaryV2ParamsQueryType = "KX"` - `const DNSSummaryV2ParamsQueryTypeL32 DNSSummaryV2ParamsQueryType = "L32"` - `const DNSSummaryV2ParamsQueryTypeL64 DNSSummaryV2ParamsQueryType = "L64"` - `const DNSSummaryV2ParamsQueryTypeLOC DNSSummaryV2ParamsQueryType = "LOC"` - `const DNSSummaryV2ParamsQueryTypeLp DNSSummaryV2ParamsQueryType = "LP"` - `const DNSSummaryV2ParamsQueryTypeMaila DNSSummaryV2ParamsQueryType = "MAILA"` - `const DNSSummaryV2ParamsQueryTypeMailb DNSSummaryV2ParamsQueryType = "MAILB"` - `const DNSSummaryV2ParamsQueryTypeMB DNSSummaryV2ParamsQueryType = "MB"` - `const DNSSummaryV2ParamsQueryTypeMd DNSSummaryV2ParamsQueryType = "MD"` - `const DNSSummaryV2ParamsQueryTypeMf DNSSummaryV2ParamsQueryType = "MF"` - `const DNSSummaryV2ParamsQueryTypeMg DNSSummaryV2ParamsQueryType = "MG"` - `const DNSSummaryV2ParamsQueryTypeMinfo DNSSummaryV2ParamsQueryType = "MINFO"` - `const DNSSummaryV2ParamsQueryTypeMr DNSSummaryV2ParamsQueryType = "MR"` - `const DNSSummaryV2ParamsQueryTypeMX DNSSummaryV2ParamsQueryType = "MX"` - `const DNSSummaryV2ParamsQueryTypeNAPTR DNSSummaryV2ParamsQueryType = "NAPTR"` - `const DNSSummaryV2ParamsQueryTypeNb DNSSummaryV2ParamsQueryType = "NB"` - `const DNSSummaryV2ParamsQueryTypeNbstat DNSSummaryV2ParamsQueryType = "NBSTAT"` - `const DNSSummaryV2ParamsQueryTypeNid DNSSummaryV2ParamsQueryType = "NID"` - `const DNSSummaryV2ParamsQueryTypeNimloc DNSSummaryV2ParamsQueryType = "NIMLOC"` - `const DNSSummaryV2ParamsQueryTypeNinfo DNSSummaryV2ParamsQueryType = "NINFO"` - `const DNSSummaryV2ParamsQueryTypeNS DNSSummaryV2ParamsQueryType = "NS"` - `const DNSSummaryV2ParamsQueryTypeNsap DNSSummaryV2ParamsQueryType = "NSAP"` - `const DNSSummaryV2ParamsQueryTypeNsec DNSSummaryV2ParamsQueryType = "NSEC"` - `const DNSSummaryV2ParamsQueryTypeNsec3 DNSSummaryV2ParamsQueryType = "NSEC3"` - `const DNSSummaryV2ParamsQueryTypeNsec3Param DNSSummaryV2ParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryV2ParamsQueryTypeNull DNSSummaryV2ParamsQueryType = "NULL"` - `const DNSSummaryV2ParamsQueryTypeNxt DNSSummaryV2ParamsQueryType = "NXT"` - `const DNSSummaryV2ParamsQueryTypeOpenpgpkey DNSSummaryV2ParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryV2ParamsQueryTypeOpt DNSSummaryV2ParamsQueryType = "OPT"` - `const DNSSummaryV2ParamsQueryTypePTR DNSSummaryV2ParamsQueryType = "PTR"` - `const DNSSummaryV2ParamsQueryTypePx DNSSummaryV2ParamsQueryType = "PX"` - `const DNSSummaryV2ParamsQueryTypeRkey DNSSummaryV2ParamsQueryType = "RKEY"` - `const DNSSummaryV2ParamsQueryTypeRp DNSSummaryV2ParamsQueryType = "RP"` - `const DNSSummaryV2ParamsQueryTypeRrsig DNSSummaryV2ParamsQueryType = "RRSIG"` - `const DNSSummaryV2ParamsQueryTypeRt DNSSummaryV2ParamsQueryType = "RT"` - `const DNSSummaryV2ParamsQueryTypeSig DNSSummaryV2ParamsQueryType = "SIG"` - `const DNSSummaryV2ParamsQueryTypeSink DNSSummaryV2ParamsQueryType = "SINK"` - `const DNSSummaryV2ParamsQueryTypeSMIMEA DNSSummaryV2ParamsQueryType = "SMIMEA"` - `const DNSSummaryV2ParamsQueryTypeSOA DNSSummaryV2ParamsQueryType = "SOA"` - `const DNSSummaryV2ParamsQueryTypeSPF DNSSummaryV2ParamsQueryType = "SPF"` - `const DNSSummaryV2ParamsQueryTypeSRV DNSSummaryV2ParamsQueryType = "SRV"` - `const DNSSummaryV2ParamsQueryTypeSSHFP DNSSummaryV2ParamsQueryType = "SSHFP"` - `const DNSSummaryV2ParamsQueryTypeSVCB DNSSummaryV2ParamsQueryType = "SVCB"` - `const DNSSummaryV2ParamsQueryTypeTa DNSSummaryV2ParamsQueryType = "TA"` - `const DNSSummaryV2ParamsQueryTypeTalink DNSSummaryV2ParamsQueryType = "TALINK"` - `const DNSSummaryV2ParamsQueryTypeTkey DNSSummaryV2ParamsQueryType = "TKEY"` - `const DNSSummaryV2ParamsQueryTypeTLSA DNSSummaryV2ParamsQueryType = "TLSA"` - `const DNSSummaryV2ParamsQueryTypeTSIG DNSSummaryV2ParamsQueryType = "TSIG"` - `const DNSSummaryV2ParamsQueryTypeTXT DNSSummaryV2ParamsQueryType = "TXT"` - `const DNSSummaryV2ParamsQueryTypeUinfo DNSSummaryV2ParamsQueryType = "UINFO"` - `const DNSSummaryV2ParamsQueryTypeUID DNSSummaryV2ParamsQueryType = "UID"` - `const DNSSummaryV2ParamsQueryTypeUnspec DNSSummaryV2ParamsQueryType = "UNSPEC"` - `const DNSSummaryV2ParamsQueryTypeURI DNSSummaryV2ParamsQueryType = "URI"` - `const DNSSummaryV2ParamsQueryTypeWks DNSSummaryV2ParamsQueryType = "WKS"` - `const DNSSummaryV2ParamsQueryTypeX25 DNSSummaryV2ParamsQueryType = "X25"` - `const DNSSummaryV2ParamsQueryTypeZonemd DNSSummaryV2ParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryV2ParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryV2ParamsResponseCodeNoerror DNSSummaryV2ParamsResponseCode = "NOERROR"` - `const DNSSummaryV2ParamsResponseCodeFormerr DNSSummaryV2ParamsResponseCode = "FORMERR"` - `const DNSSummaryV2ParamsResponseCodeServfail DNSSummaryV2ParamsResponseCode = "SERVFAIL"` - `const DNSSummaryV2ParamsResponseCodeNxdomain DNSSummaryV2ParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryV2ParamsResponseCodeNotimp DNSSummaryV2ParamsResponseCode = "NOTIMP"` - `const DNSSummaryV2ParamsResponseCodeRefused DNSSummaryV2ParamsResponseCode = "REFUSED"` - `const DNSSummaryV2ParamsResponseCodeYxdomain DNSSummaryV2ParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryV2ParamsResponseCodeYxrrset DNSSummaryV2ParamsResponseCode = "YXRRSET"` - `const DNSSummaryV2ParamsResponseCodeNxrrset DNSSummaryV2ParamsResponseCode = "NXRRSET"` - `const DNSSummaryV2ParamsResponseCodeNotauth DNSSummaryV2ParamsResponseCode = "NOTAUTH"` - `const DNSSummaryV2ParamsResponseCodeNotzone DNSSummaryV2ParamsResponseCode = "NOTZONE"` - `const DNSSummaryV2ParamsResponseCodeBadsig DNSSummaryV2ParamsResponseCode = "BADSIG"` - `const DNSSummaryV2ParamsResponseCodeBadkey DNSSummaryV2ParamsResponseCode = "BADKEY"` - `const DNSSummaryV2ParamsResponseCodeBadtime DNSSummaryV2ParamsResponseCode = "BADTIME"` - `const DNSSummaryV2ParamsResponseCodeBadmode DNSSummaryV2ParamsResponseCode = "BADMODE"` - `const DNSSummaryV2ParamsResponseCodeBadname DNSSummaryV2ParamsResponseCode = "BADNAME"` - `const DNSSummaryV2ParamsResponseCodeBadalg DNSSummaryV2ParamsResponseCode = "BADALG"` - `const DNSSummaryV2ParamsResponseCodeBadtrunc DNSSummaryV2ParamsResponseCode = "BADTRUNC"` - `const DNSSummaryV2ParamsResponseCodeBadcookie DNSSummaryV2ParamsResponseCode = "BADCOOKIE"` - `ResponseTTL param.Field[[]DNSSummaryV2ParamsResponseTTL]` Filters results by DNS response TTL. - `const DNSSummaryV2ParamsResponseTTLLte1M DNSSummaryV2ParamsResponseTTL = "LTE_1M"` - `const DNSSummaryV2ParamsResponseTTLGt1MLte5M DNSSummaryV2ParamsResponseTTL = "GT_1M_LTE_5M"` - `const DNSSummaryV2ParamsResponseTTLGt5MLte15M DNSSummaryV2ParamsResponseTTL = "GT_5M_LTE_15M"` - `const DNSSummaryV2ParamsResponseTTLGt15MLte1H DNSSummaryV2ParamsResponseTTL = "GT_15M_LTE_1H"` - `const DNSSummaryV2ParamsResponseTTLGt1HLte1D DNSSummaryV2ParamsResponseTTL = "GT_1H_LTE_1D"` - `const DNSSummaryV2ParamsResponseTTLGt1DLte1W DNSSummaryV2ParamsResponseTTL = "GT_1D_LTE_1W"` - `const DNSSummaryV2ParamsResponseTTLGt1W DNSSummaryV2ParamsResponseTTL = "GT_1W"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryV2Response struct{…}` - `Meta DNSSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryV2ResponseMetaConfidenceInfo` - `Annotations []DNSSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryV2ResponseMetaNormalizationPercentage DNSSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryV2ResponseMetaNormalizationMin0Max DNSSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryV2ResponseMetaNormalizationMinMax DNSSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryV2ResponseMetaNormalizationRawValues DNSSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryV2ResponseMetaNormalizationPercentageChange DNSSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryV2ResponseMetaNormalizationRollingAverage DNSSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryV2ResponseMetaNormalizationOverlappedPercentage DNSSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryV2ResponseMetaNormalizationRatio DNSSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.SummaryV2( context.TODO(), radar.DNSSummaryV2ParamsDimensionAs, radar.DNSSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Timeseries(ctx, query) (*DNSTimeseriesResponse, error)` **get** `/radar/dns/timeseries` Retrieves normalized query volume to the 1.1.1.1 DNS resolver over time. ### Parameters - `query DNSTimeseriesParams` - `AggInterval param.Field[DNSTimeseriesParamsAggInterval]` 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/). - `const DNSTimeseriesParamsAggInterval15m DNSTimeseriesParamsAggInterval = "15m"` - `const DNSTimeseriesParamsAggInterval1h DNSTimeseriesParamsAggInterval = "1h"` - `const DNSTimeseriesParamsAggInterval1d DNSTimeseriesParamsAggInterval = "1d"` - `const DNSTimeseriesParamsAggInterval1w DNSTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `CacheHit param.Field[[]bool]` Filters results based on cache status. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DNSSEC param.Field[[]DNSTimeseriesParamsDNSSEC]` Filters results based on DNSSEC (DNS Security Extensions) support. - `const DNSTimeseriesParamsDNSSECInvalid DNSTimeseriesParamsDNSSEC = "INVALID"` - `const DNSTimeseriesParamsDNSSECInsecure DNSTimeseriesParamsDNSSEC = "INSECURE"` - `const DNSTimeseriesParamsDNSSECSecure DNSTimeseriesParamsDNSSEC = "SECURE"` - `const DNSTimeseriesParamsDNSSECOther DNSTimeseriesParamsDNSSEC = "OTHER"` - `DNSSECAware param.Field[[]DNSTimeseriesParamsDNSSECAware]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `const DNSTimeseriesParamsDNSSECAwareSupported DNSTimeseriesParamsDNSSECAware = "SUPPORTED"` - `const DNSTimeseriesParamsDNSSECAwareNotSupported DNSTimeseriesParamsDNSSECAware = "NOT_SUPPORTED"` - `DNSSECE2E param.Field[[]bool]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `Format param.Field[DNSTimeseriesParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesParamsFormatJson DNSTimeseriesParamsFormat = "JSON"` - `const DNSTimeseriesParamsFormatCsv DNSTimeseriesParamsFormat = "CSV"` - `IPVersion param.Field[[]DNSTimeseriesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const DNSTimeseriesParamsIPVersionIPv4 DNSTimeseriesParamsIPVersion = "IPv4"` - `const DNSTimeseriesParamsIPVersionIPv6 DNSTimeseriesParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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. - `MatchingAnswer param.Field[[]bool]` Filters results based on whether the queries have a matching answer. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesParamsProtocolUdp DNSTimeseriesParamsProtocol = "UDP"` - `const DNSTimeseriesParamsProtocolTCP DNSTimeseriesParamsProtocol = "TCP"` - `const DNSTimeseriesParamsProtocolHTTPS DNSTimeseriesParamsProtocol = "HTTPS"` - `const DNSTimeseriesParamsProtocolTLS DNSTimeseriesParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesParamsQueryTypeA DNSTimeseriesParamsQueryType = "A"` - `const DNSTimeseriesParamsQueryTypeAAAA DNSTimeseriesParamsQueryType = "AAAA"` - `const DNSTimeseriesParamsQueryTypeA6 DNSTimeseriesParamsQueryType = "A6"` - `const DNSTimeseriesParamsQueryTypeAfsdb DNSTimeseriesParamsQueryType = "AFSDB"` - `const DNSTimeseriesParamsQueryTypeAny DNSTimeseriesParamsQueryType = "ANY"` - `const DNSTimeseriesParamsQueryTypeApl DNSTimeseriesParamsQueryType = "APL"` - `const DNSTimeseriesParamsQueryTypeAtma DNSTimeseriesParamsQueryType = "ATMA"` - `const DNSTimeseriesParamsQueryTypeAXFR DNSTimeseriesParamsQueryType = "AXFR"` - `const DNSTimeseriesParamsQueryTypeCAA DNSTimeseriesParamsQueryType = "CAA"` - `const DNSTimeseriesParamsQueryTypeCdnskey DNSTimeseriesParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesParamsQueryTypeCds DNSTimeseriesParamsQueryType = "CDS"` - `const DNSTimeseriesParamsQueryTypeCERT DNSTimeseriesParamsQueryType = "CERT"` - `const DNSTimeseriesParamsQueryTypeCNAME DNSTimeseriesParamsQueryType = "CNAME"` - `const DNSTimeseriesParamsQueryTypeCsync DNSTimeseriesParamsQueryType = "CSYNC"` - `const DNSTimeseriesParamsQueryTypeDhcid DNSTimeseriesParamsQueryType = "DHCID"` - `const DNSTimeseriesParamsQueryTypeDlv DNSTimeseriesParamsQueryType = "DLV"` - `const DNSTimeseriesParamsQueryTypeDname DNSTimeseriesParamsQueryType = "DNAME"` - `const DNSTimeseriesParamsQueryTypeDNSKEY DNSTimeseriesParamsQueryType = "DNSKEY"` - `const DNSTimeseriesParamsQueryTypeDoa DNSTimeseriesParamsQueryType = "DOA"` - `const DNSTimeseriesParamsQueryTypeDS DNSTimeseriesParamsQueryType = "DS"` - `const DNSTimeseriesParamsQueryTypeEid DNSTimeseriesParamsQueryType = "EID"` - `const DNSTimeseriesParamsQueryTypeEui48 DNSTimeseriesParamsQueryType = "EUI48"` - `const DNSTimeseriesParamsQueryTypeEui64 DNSTimeseriesParamsQueryType = "EUI64"` - `const DNSTimeseriesParamsQueryTypeGpos DNSTimeseriesParamsQueryType = "GPOS"` - `const DNSTimeseriesParamsQueryTypeGid DNSTimeseriesParamsQueryType = "GID"` - `const DNSTimeseriesParamsQueryTypeHinfo DNSTimeseriesParamsQueryType = "HINFO"` - `const DNSTimeseriesParamsQueryTypeHip DNSTimeseriesParamsQueryType = "HIP"` - `const DNSTimeseriesParamsQueryTypeHTTPS DNSTimeseriesParamsQueryType = "HTTPS"` - `const DNSTimeseriesParamsQueryTypeIpseckey DNSTimeseriesParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesParamsQueryTypeIsdn DNSTimeseriesParamsQueryType = "ISDN"` - `const DNSTimeseriesParamsQueryTypeIxfr DNSTimeseriesParamsQueryType = "IXFR"` - `const DNSTimeseriesParamsQueryTypeKey DNSTimeseriesParamsQueryType = "KEY"` - `const DNSTimeseriesParamsQueryTypeKx DNSTimeseriesParamsQueryType = "KX"` - `const DNSTimeseriesParamsQueryTypeL32 DNSTimeseriesParamsQueryType = "L32"` - `const DNSTimeseriesParamsQueryTypeL64 DNSTimeseriesParamsQueryType = "L64"` - `const DNSTimeseriesParamsQueryTypeLOC DNSTimeseriesParamsQueryType = "LOC"` - `const DNSTimeseriesParamsQueryTypeLp DNSTimeseriesParamsQueryType = "LP"` - `const DNSTimeseriesParamsQueryTypeMaila DNSTimeseriesParamsQueryType = "MAILA"` - `const DNSTimeseriesParamsQueryTypeMailb DNSTimeseriesParamsQueryType = "MAILB"` - `const DNSTimeseriesParamsQueryTypeMB DNSTimeseriesParamsQueryType = "MB"` - `const DNSTimeseriesParamsQueryTypeMd DNSTimeseriesParamsQueryType = "MD"` - `const DNSTimeseriesParamsQueryTypeMf DNSTimeseriesParamsQueryType = "MF"` - `const DNSTimeseriesParamsQueryTypeMg DNSTimeseriesParamsQueryType = "MG"` - `const DNSTimeseriesParamsQueryTypeMinfo DNSTimeseriesParamsQueryType = "MINFO"` - `const DNSTimeseriesParamsQueryTypeMr DNSTimeseriesParamsQueryType = "MR"` - `const DNSTimeseriesParamsQueryTypeMX DNSTimeseriesParamsQueryType = "MX"` - `const DNSTimeseriesParamsQueryTypeNAPTR DNSTimeseriesParamsQueryType = "NAPTR"` - `const DNSTimeseriesParamsQueryTypeNb DNSTimeseriesParamsQueryType = "NB"` - `const DNSTimeseriesParamsQueryTypeNbstat DNSTimeseriesParamsQueryType = "NBSTAT"` - `const DNSTimeseriesParamsQueryTypeNid DNSTimeseriesParamsQueryType = "NID"` - `const DNSTimeseriesParamsQueryTypeNimloc DNSTimeseriesParamsQueryType = "NIMLOC"` - `const DNSTimeseriesParamsQueryTypeNinfo DNSTimeseriesParamsQueryType = "NINFO"` - `const DNSTimeseriesParamsQueryTypeNS DNSTimeseriesParamsQueryType = "NS"` - `const DNSTimeseriesParamsQueryTypeNsap DNSTimeseriesParamsQueryType = "NSAP"` - `const DNSTimeseriesParamsQueryTypeNsec DNSTimeseriesParamsQueryType = "NSEC"` - `const DNSTimeseriesParamsQueryTypeNsec3 DNSTimeseriesParamsQueryType = "NSEC3"` - `const DNSTimeseriesParamsQueryTypeNsec3Param DNSTimeseriesParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesParamsQueryTypeNull DNSTimeseriesParamsQueryType = "NULL"` - `const DNSTimeseriesParamsQueryTypeNxt DNSTimeseriesParamsQueryType = "NXT"` - `const DNSTimeseriesParamsQueryTypeOpenpgpkey DNSTimeseriesParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesParamsQueryTypeOpt DNSTimeseriesParamsQueryType = "OPT"` - `const DNSTimeseriesParamsQueryTypePTR DNSTimeseriesParamsQueryType = "PTR"` - `const DNSTimeseriesParamsQueryTypePx DNSTimeseriesParamsQueryType = "PX"` - `const DNSTimeseriesParamsQueryTypeRkey DNSTimeseriesParamsQueryType = "RKEY"` - `const DNSTimeseriesParamsQueryTypeRp DNSTimeseriesParamsQueryType = "RP"` - `const DNSTimeseriesParamsQueryTypeRrsig DNSTimeseriesParamsQueryType = "RRSIG"` - `const DNSTimeseriesParamsQueryTypeRt DNSTimeseriesParamsQueryType = "RT"` - `const DNSTimeseriesParamsQueryTypeSig DNSTimeseriesParamsQueryType = "SIG"` - `const DNSTimeseriesParamsQueryTypeSink DNSTimeseriesParamsQueryType = "SINK"` - `const DNSTimeseriesParamsQueryTypeSMIMEA DNSTimeseriesParamsQueryType = "SMIMEA"` - `const DNSTimeseriesParamsQueryTypeSOA DNSTimeseriesParamsQueryType = "SOA"` - `const DNSTimeseriesParamsQueryTypeSPF DNSTimeseriesParamsQueryType = "SPF"` - `const DNSTimeseriesParamsQueryTypeSRV DNSTimeseriesParamsQueryType = "SRV"` - `const DNSTimeseriesParamsQueryTypeSSHFP DNSTimeseriesParamsQueryType = "SSHFP"` - `const DNSTimeseriesParamsQueryTypeSVCB DNSTimeseriesParamsQueryType = "SVCB"` - `const DNSTimeseriesParamsQueryTypeTa DNSTimeseriesParamsQueryType = "TA"` - `const DNSTimeseriesParamsQueryTypeTalink DNSTimeseriesParamsQueryType = "TALINK"` - `const DNSTimeseriesParamsQueryTypeTkey DNSTimeseriesParamsQueryType = "TKEY"` - `const DNSTimeseriesParamsQueryTypeTLSA DNSTimeseriesParamsQueryType = "TLSA"` - `const DNSTimeseriesParamsQueryTypeTSIG DNSTimeseriesParamsQueryType = "TSIG"` - `const DNSTimeseriesParamsQueryTypeTXT DNSTimeseriesParamsQueryType = "TXT"` - `const DNSTimeseriesParamsQueryTypeUinfo DNSTimeseriesParamsQueryType = "UINFO"` - `const DNSTimeseriesParamsQueryTypeUID DNSTimeseriesParamsQueryType = "UID"` - `const DNSTimeseriesParamsQueryTypeUnspec DNSTimeseriesParamsQueryType = "UNSPEC"` - `const DNSTimeseriesParamsQueryTypeURI DNSTimeseriesParamsQueryType = "URI"` - `const DNSTimeseriesParamsQueryTypeWks DNSTimeseriesParamsQueryType = "WKS"` - `const DNSTimeseriesParamsQueryTypeX25 DNSTimeseriesParamsQueryType = "X25"` - `const DNSTimeseriesParamsQueryTypeZonemd DNSTimeseriesParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesParamsResponseCodeNoerror DNSTimeseriesParamsResponseCode = "NOERROR"` - `const DNSTimeseriesParamsResponseCodeFormerr DNSTimeseriesParamsResponseCode = "FORMERR"` - `const DNSTimeseriesParamsResponseCodeServfail DNSTimeseriesParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesParamsResponseCodeNxdomain DNSTimeseriesParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesParamsResponseCodeNotimp DNSTimeseriesParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesParamsResponseCodeRefused DNSTimeseriesParamsResponseCode = "REFUSED"` - `const DNSTimeseriesParamsResponseCodeYxdomain DNSTimeseriesParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesParamsResponseCodeYxrrset DNSTimeseriesParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesParamsResponseCodeNxrrset DNSTimeseriesParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesParamsResponseCodeNotauth DNSTimeseriesParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesParamsResponseCodeNotzone DNSTimeseriesParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesParamsResponseCodeBadsig DNSTimeseriesParamsResponseCode = "BADSIG"` - `const DNSTimeseriesParamsResponseCodeBadkey DNSTimeseriesParamsResponseCode = "BADKEY"` - `const DNSTimeseriesParamsResponseCodeBadtime DNSTimeseriesParamsResponseCode = "BADTIME"` - `const DNSTimeseriesParamsResponseCodeBadmode DNSTimeseriesParamsResponseCode = "BADMODE"` - `const DNSTimeseriesParamsResponseCodeBadname DNSTimeseriesParamsResponseCode = "BADNAME"` - `const DNSTimeseriesParamsResponseCodeBadalg DNSTimeseriesParamsResponseCode = "BADALG"` - `const DNSTimeseriesParamsResponseCodeBadtrunc DNSTimeseriesParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesParamsResponseCodeBadcookie DNSTimeseriesParamsResponseCode = "BADCOOKIE"` - `ResponseTTL param.Field[[]DNSTimeseriesParamsResponseTTL]` Filters results by DNS response TTL. - `const DNSTimeseriesParamsResponseTTLLte1M DNSTimeseriesParamsResponseTTL = "LTE_1M"` - `const DNSTimeseriesParamsResponseTTLGt1MLte5M DNSTimeseriesParamsResponseTTL = "GT_1M_LTE_5M"` - `const DNSTimeseriesParamsResponseTTLGt5MLte15M DNSTimeseriesParamsResponseTTL = "GT_5M_LTE_15M"` - `const DNSTimeseriesParamsResponseTTLGt15MLte1H DNSTimeseriesParamsResponseTTL = "GT_15M_LTE_1H"` - `const DNSTimeseriesParamsResponseTTLGt1HLte1D DNSTimeseriesParamsResponseTTL = "GT_1H_LTE_1D"` - `const DNSTimeseriesParamsResponseTTLGt1DLte1W DNSTimeseriesParamsResponseTTL = "GT_1D_LTE_1W"` - `const DNSTimeseriesParamsResponseTTLGt1W DNSTimeseriesParamsResponseTTL = "GT_1W"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesResponse struct{…}` - `Meta DNSTimeseriesResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesResponseMetaAggInterval` 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/). - `const DNSTimeseriesResponseMetaAggIntervalFifteenMinutes DNSTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesResponseMetaAggIntervalOneHour DNSTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesResponseMetaAggIntervalOneDay DNSTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesResponseMetaAggIntervalOneWeek DNSTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesResponseMetaAggIntervalOneMonth DNSTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesResponseMetaNormalizationPercentage DNSTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesResponseMetaNormalizationMin0Max DNSTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesResponseMetaNormalizationMinMax DNSTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesResponseMetaNormalizationRawValues DNSTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesResponseMetaNormalizationPercentageChange DNSTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesResponseMetaNormalizationRollingAverage DNSTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesResponseMetaNormalizationOverlappedPercentage DNSTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesResponseMetaNormalizationRatio DNSTimeseriesResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Timeseries(context.TODO(), radar.DNSTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroupsV2(ctx, dimension, query) (*DNSTimeseriesGroupsV2Response, error)` **get** `/radar/dns/timeseries_groups/{dimension}` Retrieves the distribution of DNS queries grouped by dimension over time. ### Parameters - `dimension DNSTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const DNSTimeseriesGroupsV2ParamsDimensionAs DNSTimeseriesGroupsV2ParamsDimension = "AS"` - `const DNSTimeseriesGroupsV2ParamsDimensionCacheHit DNSTimeseriesGroupsV2ParamsDimension = "CACHE_HIT"` - `const DNSTimeseriesGroupsV2ParamsDimensionDNSSEC DNSTimeseriesGroupsV2ParamsDimension = "DNSSEC"` - `const DNSTimeseriesGroupsV2ParamsDimensionDNSSECAware DNSTimeseriesGroupsV2ParamsDimension = "DNSSEC_AWARE"` - `const DNSTimeseriesGroupsV2ParamsDimensionDNSSECE2E DNSTimeseriesGroupsV2ParamsDimension = "DNSSEC_E2E"` - `const DNSTimeseriesGroupsV2ParamsDimensionIPVersion DNSTimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const DNSTimeseriesGroupsV2ParamsDimensionLocation DNSTimeseriesGroupsV2ParamsDimension = "LOCATION"` - `const DNSTimeseriesGroupsV2ParamsDimensionMatchingAnswer DNSTimeseriesGroupsV2ParamsDimension = "MATCHING_ANSWER"` - `const DNSTimeseriesGroupsV2ParamsDimensionProtocol DNSTimeseriesGroupsV2ParamsDimension = "PROTOCOL"` - `const DNSTimeseriesGroupsV2ParamsDimensionQueryType DNSTimeseriesGroupsV2ParamsDimension = "QUERY_TYPE"` - `const DNSTimeseriesGroupsV2ParamsDimensionResponseCode DNSTimeseriesGroupsV2ParamsDimension = "RESPONSE_CODE"` - `const DNSTimeseriesGroupsV2ParamsDimensionResponseTTL DNSTimeseriesGroupsV2ParamsDimension = "RESPONSE_TTL"` - `const DNSTimeseriesGroupsV2ParamsDimensionTLD DNSTimeseriesGroupsV2ParamsDimension = "TLD"` - `query DNSTimeseriesGroupsV2Params` - `AggInterval param.Field[DNSTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const DNSTimeseriesGroupsV2ParamsAggInterval15m DNSTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const DNSTimeseriesGroupsV2ParamsAggInterval1h DNSTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const DNSTimeseriesGroupsV2ParamsAggInterval1d DNSTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const DNSTimeseriesGroupsV2ParamsAggInterval1w DNSTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `CacheHit param.Field[[]bool]` Filters results based on cache status. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DNSSEC param.Field[[]DNSTimeseriesGroupsV2ParamsDNSSEC]` Filters results based on DNSSEC (DNS Security Extensions) support. - `const DNSTimeseriesGroupsV2ParamsDNSSECInvalid DNSTimeseriesGroupsV2ParamsDNSSEC = "INVALID"` - `const DNSTimeseriesGroupsV2ParamsDNSSECInsecure DNSTimeseriesGroupsV2ParamsDNSSEC = "INSECURE"` - `const DNSTimeseriesGroupsV2ParamsDNSSECSecure DNSTimeseriesGroupsV2ParamsDNSSEC = "SECURE"` - `const DNSTimeseriesGroupsV2ParamsDNSSECOther DNSTimeseriesGroupsV2ParamsDNSSEC = "OTHER"` - `DNSSECAware param.Field[[]DNSTimeseriesGroupsV2ParamsDNSSECAware]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `const DNSTimeseriesGroupsV2ParamsDNSSECAwareSupported DNSTimeseriesGroupsV2ParamsDNSSECAware = "SUPPORTED"` - `const DNSTimeseriesGroupsV2ParamsDNSSECAwareNotSupported DNSTimeseriesGroupsV2ParamsDNSSECAware = "NOT_SUPPORTED"` - `DNSSECE2E param.Field[[]bool]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `Format param.Field[DNSTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupsV2ParamsFormatJson DNSTimeseriesGroupsV2ParamsFormat = "JSON"` - `const DNSTimeseriesGroupsV2ParamsFormatCsv DNSTimeseriesGroupsV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]DNSTimeseriesGroupsV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const DNSTimeseriesGroupsV2ParamsIPVersionIPv4 DNSTimeseriesGroupsV2ParamsIPVersion = "IPv4"` - `const DNSTimeseriesGroupsV2ParamsIPVersionIPv6 DNSTimeseriesGroupsV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MatchingAnswer param.Field[[]bool]` Filters results based on whether the queries have a matching answer. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Normalization param.Field[DNSTimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupsV2ParamsNormalizationPercentage DNSTimeseriesGroupsV2ParamsNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupsV2ParamsNormalizationMin0Max DNSTimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]DNSTimeseriesGroupsV2ParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupsV2ParamsProtocolUdp DNSTimeseriesGroupsV2ParamsProtocol = "UDP"` - `const DNSTimeseriesGroupsV2ParamsProtocolTCP DNSTimeseriesGroupsV2ParamsProtocol = "TCP"` - `const DNSTimeseriesGroupsV2ParamsProtocolHTTPS DNSTimeseriesGroupsV2ParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupsV2ParamsProtocolTLS DNSTimeseriesGroupsV2ParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupsV2ParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupsV2ParamsQueryTypeA DNSTimeseriesGroupsV2ParamsQueryType = "A"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeAAAA DNSTimeseriesGroupsV2ParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeA6 DNSTimeseriesGroupsV2ParamsQueryType = "A6"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeAfsdb DNSTimeseriesGroupsV2ParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeAny DNSTimeseriesGroupsV2ParamsQueryType = "ANY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeApl DNSTimeseriesGroupsV2ParamsQueryType = "APL"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeAtma DNSTimeseriesGroupsV2ParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeAXFR DNSTimeseriesGroupsV2ParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCAA DNSTimeseriesGroupsV2ParamsQueryType = "CAA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCdnskey DNSTimeseriesGroupsV2ParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCds DNSTimeseriesGroupsV2ParamsQueryType = "CDS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCERT DNSTimeseriesGroupsV2ParamsQueryType = "CERT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCNAME DNSTimeseriesGroupsV2ParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeCsync DNSTimeseriesGroupsV2ParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDhcid DNSTimeseriesGroupsV2ParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDlv DNSTimeseriesGroupsV2ParamsQueryType = "DLV"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDname DNSTimeseriesGroupsV2ParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDNSKEY DNSTimeseriesGroupsV2ParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDoa DNSTimeseriesGroupsV2ParamsQueryType = "DOA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeDS DNSTimeseriesGroupsV2ParamsQueryType = "DS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeEid DNSTimeseriesGroupsV2ParamsQueryType = "EID"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeEui48 DNSTimeseriesGroupsV2ParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeEui64 DNSTimeseriesGroupsV2ParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeGpos DNSTimeseriesGroupsV2ParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeGid DNSTimeseriesGroupsV2ParamsQueryType = "GID"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeHinfo DNSTimeseriesGroupsV2ParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeHip DNSTimeseriesGroupsV2ParamsQueryType = "HIP"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeHTTPS DNSTimeseriesGroupsV2ParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeIpseckey DNSTimeseriesGroupsV2ParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeIsdn DNSTimeseriesGroupsV2ParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeIxfr DNSTimeseriesGroupsV2ParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeKey DNSTimeseriesGroupsV2ParamsQueryType = "KEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeKx DNSTimeseriesGroupsV2ParamsQueryType = "KX"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeL32 DNSTimeseriesGroupsV2ParamsQueryType = "L32"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeL64 DNSTimeseriesGroupsV2ParamsQueryType = "L64"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeLOC DNSTimeseriesGroupsV2ParamsQueryType = "LOC"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeLp DNSTimeseriesGroupsV2ParamsQueryType = "LP"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMaila DNSTimeseriesGroupsV2ParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMailb DNSTimeseriesGroupsV2ParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMB DNSTimeseriesGroupsV2ParamsQueryType = "MB"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMd DNSTimeseriesGroupsV2ParamsQueryType = "MD"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMf DNSTimeseriesGroupsV2ParamsQueryType = "MF"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMg DNSTimeseriesGroupsV2ParamsQueryType = "MG"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMinfo DNSTimeseriesGroupsV2ParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMr DNSTimeseriesGroupsV2ParamsQueryType = "MR"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeMX DNSTimeseriesGroupsV2ParamsQueryType = "MX"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNAPTR DNSTimeseriesGroupsV2ParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNb DNSTimeseriesGroupsV2ParamsQueryType = "NB"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNbstat DNSTimeseriesGroupsV2ParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNid DNSTimeseriesGroupsV2ParamsQueryType = "NID"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNimloc DNSTimeseriesGroupsV2ParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNinfo DNSTimeseriesGroupsV2ParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNS DNSTimeseriesGroupsV2ParamsQueryType = "NS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNsap DNSTimeseriesGroupsV2ParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNsec DNSTimeseriesGroupsV2ParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNsec3 DNSTimeseriesGroupsV2ParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNsec3Param DNSTimeseriesGroupsV2ParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNull DNSTimeseriesGroupsV2ParamsQueryType = "NULL"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeNxt DNSTimeseriesGroupsV2ParamsQueryType = "NXT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeOpenpgpkey DNSTimeseriesGroupsV2ParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeOpt DNSTimeseriesGroupsV2ParamsQueryType = "OPT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypePTR DNSTimeseriesGroupsV2ParamsQueryType = "PTR"` - `const DNSTimeseriesGroupsV2ParamsQueryTypePx DNSTimeseriesGroupsV2ParamsQueryType = "PX"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeRkey DNSTimeseriesGroupsV2ParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeRp DNSTimeseriesGroupsV2ParamsQueryType = "RP"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeRrsig DNSTimeseriesGroupsV2ParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeRt DNSTimeseriesGroupsV2ParamsQueryType = "RT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSig DNSTimeseriesGroupsV2ParamsQueryType = "SIG"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSink DNSTimeseriesGroupsV2ParamsQueryType = "SINK"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSMIMEA DNSTimeseriesGroupsV2ParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSOA DNSTimeseriesGroupsV2ParamsQueryType = "SOA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSPF DNSTimeseriesGroupsV2ParamsQueryType = "SPF"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSRV DNSTimeseriesGroupsV2ParamsQueryType = "SRV"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSSHFP DNSTimeseriesGroupsV2ParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeSVCB DNSTimeseriesGroupsV2ParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTa DNSTimeseriesGroupsV2ParamsQueryType = "TA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTalink DNSTimeseriesGroupsV2ParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTkey DNSTimeseriesGroupsV2ParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTLSA DNSTimeseriesGroupsV2ParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTSIG DNSTimeseriesGroupsV2ParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeTXT DNSTimeseriesGroupsV2ParamsQueryType = "TXT"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeUinfo DNSTimeseriesGroupsV2ParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeUID DNSTimeseriesGroupsV2ParamsQueryType = "UID"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeUnspec DNSTimeseriesGroupsV2ParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeURI DNSTimeseriesGroupsV2ParamsQueryType = "URI"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeWks DNSTimeseriesGroupsV2ParamsQueryType = "WKS"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeX25 DNSTimeseriesGroupsV2ParamsQueryType = "X25"` - `const DNSTimeseriesGroupsV2ParamsQueryTypeZonemd DNSTimeseriesGroupsV2ParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupsV2ParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupsV2ParamsResponseCodeNoerror DNSTimeseriesGroupsV2ParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeFormerr DNSTimeseriesGroupsV2ParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeServfail DNSTimeseriesGroupsV2ParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeNxdomain DNSTimeseriesGroupsV2ParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeNotimp DNSTimeseriesGroupsV2ParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeRefused DNSTimeseriesGroupsV2ParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeYxdomain DNSTimeseriesGroupsV2ParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeYxrrset DNSTimeseriesGroupsV2ParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeNxrrset DNSTimeseriesGroupsV2ParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeNotauth DNSTimeseriesGroupsV2ParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeNotzone DNSTimeseriesGroupsV2ParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadsig DNSTimeseriesGroupsV2ParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadkey DNSTimeseriesGroupsV2ParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadtime DNSTimeseriesGroupsV2ParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadmode DNSTimeseriesGroupsV2ParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadname DNSTimeseriesGroupsV2ParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadalg DNSTimeseriesGroupsV2ParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadtrunc DNSTimeseriesGroupsV2ParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupsV2ParamsResponseCodeBadcookie DNSTimeseriesGroupsV2ParamsResponseCode = "BADCOOKIE"` - `ResponseTTL param.Field[[]DNSTimeseriesGroupsV2ParamsResponseTTL]` Filters results by DNS response TTL. - `const DNSTimeseriesGroupsV2ParamsResponseTTLLte1M DNSTimeseriesGroupsV2ParamsResponseTTL = "LTE_1M"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt1MLte5M DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_1M_LTE_5M"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt5MLte15M DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_5M_LTE_15M"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt15MLte1H DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_15M_LTE_1H"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt1HLte1D DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_1H_LTE_1D"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt1DLte1W DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_1D_LTE_1W"` - `const DNSTimeseriesGroupsV2ParamsResponseTTLGt1W DNSTimeseriesGroupsV2ParamsResponseTTL = "GT_1W"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupsV2Response struct{…}` - `Meta DNSTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupsV2ResponseMetaAggIntervalOneHour DNSTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupsV2ResponseMetaAggIntervalOneDay DNSTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek DNSTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth DNSTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationPercentage DNSTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationMin0Max DNSTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationMinMax DNSTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationRawValues DNSTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange DNSTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage DNSTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupsV2ResponseMetaNormalizationRatio DNSTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroupsV2( context.TODO(), radar.DNSTimeseriesGroupsV2ParamsDimensionAs, radar.DNSTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Top ## Get top ASes by DNS queries `client.Radar.DNS.Top.Ases(ctx, query) (*DNSTopAsesResponse, error)` **get** `/radar/dns/top/ases` Retrieves the top autonomous systems by DNS queries made to 1.1.1.1 DNS resolver. ### Parameters - `query DNSTopAsesParams` - `ASN param.Field[[]string]` 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. - `CacheHit param.Field[[]bool]` Filters results based on cache status. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DNSSEC param.Field[[]DNSTopAsesParamsDNSSEC]` Filters results based on DNSSEC (DNS Security Extensions) support. - `const DNSTopAsesParamsDNSSECInvalid DNSTopAsesParamsDNSSEC = "INVALID"` - `const DNSTopAsesParamsDNSSECInsecure DNSTopAsesParamsDNSSEC = "INSECURE"` - `const DNSTopAsesParamsDNSSECSecure DNSTopAsesParamsDNSSEC = "SECURE"` - `const DNSTopAsesParamsDNSSECOther DNSTopAsesParamsDNSSEC = "OTHER"` - `DNSSECAware param.Field[[]DNSTopAsesParamsDNSSECAware]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `const DNSTopAsesParamsDNSSECAwareSupported DNSTopAsesParamsDNSSECAware = "SUPPORTED"` - `const DNSTopAsesParamsDNSSECAwareNotSupported DNSTopAsesParamsDNSSECAware = "NOT_SUPPORTED"` - `DNSSECE2E param.Field[[]bool]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `Domain param.Field[[]string]` Filters results by domain name. - `Format param.Field[DNSTopAsesParamsFormat]` Format in which results will be returned. - `const DNSTopAsesParamsFormatJson DNSTopAsesParamsFormat = "JSON"` - `const DNSTopAsesParamsFormatCsv DNSTopAsesParamsFormat = "CSV"` - `IPVersion param.Field[[]DNSTopAsesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const DNSTopAsesParamsIPVersionIPv4 DNSTopAsesParamsIPVersion = "IPv4"` - `const DNSTopAsesParamsIPVersionIPv6 DNSTopAsesParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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. - `MatchingAnswer param.Field[[]bool]` Filters results based on whether the queries have a matching answer. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTopAsesParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTopAsesParamsProtocolUdp DNSTopAsesParamsProtocol = "UDP"` - `const DNSTopAsesParamsProtocolTCP DNSTopAsesParamsProtocol = "TCP"` - `const DNSTopAsesParamsProtocolHTTPS DNSTopAsesParamsProtocol = "HTTPS"` - `const DNSTopAsesParamsProtocolTLS DNSTopAsesParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTopAsesParamsQueryType]` Filters results by DNS query type. - `const DNSTopAsesParamsQueryTypeA DNSTopAsesParamsQueryType = "A"` - `const DNSTopAsesParamsQueryTypeAAAA DNSTopAsesParamsQueryType = "AAAA"` - `const DNSTopAsesParamsQueryTypeA6 DNSTopAsesParamsQueryType = "A6"` - `const DNSTopAsesParamsQueryTypeAfsdb DNSTopAsesParamsQueryType = "AFSDB"` - `const DNSTopAsesParamsQueryTypeAny DNSTopAsesParamsQueryType = "ANY"` - `const DNSTopAsesParamsQueryTypeApl DNSTopAsesParamsQueryType = "APL"` - `const DNSTopAsesParamsQueryTypeAtma DNSTopAsesParamsQueryType = "ATMA"` - `const DNSTopAsesParamsQueryTypeAXFR DNSTopAsesParamsQueryType = "AXFR"` - `const DNSTopAsesParamsQueryTypeCAA DNSTopAsesParamsQueryType = "CAA"` - `const DNSTopAsesParamsQueryTypeCdnskey DNSTopAsesParamsQueryType = "CDNSKEY"` - `const DNSTopAsesParamsQueryTypeCds DNSTopAsesParamsQueryType = "CDS"` - `const DNSTopAsesParamsQueryTypeCERT DNSTopAsesParamsQueryType = "CERT"` - `const DNSTopAsesParamsQueryTypeCNAME DNSTopAsesParamsQueryType = "CNAME"` - `const DNSTopAsesParamsQueryTypeCsync DNSTopAsesParamsQueryType = "CSYNC"` - `const DNSTopAsesParamsQueryTypeDhcid DNSTopAsesParamsQueryType = "DHCID"` - `const DNSTopAsesParamsQueryTypeDlv DNSTopAsesParamsQueryType = "DLV"` - `const DNSTopAsesParamsQueryTypeDname DNSTopAsesParamsQueryType = "DNAME"` - `const DNSTopAsesParamsQueryTypeDNSKEY DNSTopAsesParamsQueryType = "DNSKEY"` - `const DNSTopAsesParamsQueryTypeDoa DNSTopAsesParamsQueryType = "DOA"` - `const DNSTopAsesParamsQueryTypeDS DNSTopAsesParamsQueryType = "DS"` - `const DNSTopAsesParamsQueryTypeEid DNSTopAsesParamsQueryType = "EID"` - `const DNSTopAsesParamsQueryTypeEui48 DNSTopAsesParamsQueryType = "EUI48"` - `const DNSTopAsesParamsQueryTypeEui64 DNSTopAsesParamsQueryType = "EUI64"` - `const DNSTopAsesParamsQueryTypeGpos DNSTopAsesParamsQueryType = "GPOS"` - `const DNSTopAsesParamsQueryTypeGid DNSTopAsesParamsQueryType = "GID"` - `const DNSTopAsesParamsQueryTypeHinfo DNSTopAsesParamsQueryType = "HINFO"` - `const DNSTopAsesParamsQueryTypeHip DNSTopAsesParamsQueryType = "HIP"` - `const DNSTopAsesParamsQueryTypeHTTPS DNSTopAsesParamsQueryType = "HTTPS"` - `const DNSTopAsesParamsQueryTypeIpseckey DNSTopAsesParamsQueryType = "IPSECKEY"` - `const DNSTopAsesParamsQueryTypeIsdn DNSTopAsesParamsQueryType = "ISDN"` - `const DNSTopAsesParamsQueryTypeIxfr DNSTopAsesParamsQueryType = "IXFR"` - `const DNSTopAsesParamsQueryTypeKey DNSTopAsesParamsQueryType = "KEY"` - `const DNSTopAsesParamsQueryTypeKx DNSTopAsesParamsQueryType = "KX"` - `const DNSTopAsesParamsQueryTypeL32 DNSTopAsesParamsQueryType = "L32"` - `const DNSTopAsesParamsQueryTypeL64 DNSTopAsesParamsQueryType = "L64"` - `const DNSTopAsesParamsQueryTypeLOC DNSTopAsesParamsQueryType = "LOC"` - `const DNSTopAsesParamsQueryTypeLp DNSTopAsesParamsQueryType = "LP"` - `const DNSTopAsesParamsQueryTypeMaila DNSTopAsesParamsQueryType = "MAILA"` - `const DNSTopAsesParamsQueryTypeMailb DNSTopAsesParamsQueryType = "MAILB"` - `const DNSTopAsesParamsQueryTypeMB DNSTopAsesParamsQueryType = "MB"` - `const DNSTopAsesParamsQueryTypeMd DNSTopAsesParamsQueryType = "MD"` - `const DNSTopAsesParamsQueryTypeMf DNSTopAsesParamsQueryType = "MF"` - `const DNSTopAsesParamsQueryTypeMg DNSTopAsesParamsQueryType = "MG"` - `const DNSTopAsesParamsQueryTypeMinfo DNSTopAsesParamsQueryType = "MINFO"` - `const DNSTopAsesParamsQueryTypeMr DNSTopAsesParamsQueryType = "MR"` - `const DNSTopAsesParamsQueryTypeMX DNSTopAsesParamsQueryType = "MX"` - `const DNSTopAsesParamsQueryTypeNAPTR DNSTopAsesParamsQueryType = "NAPTR"` - `const DNSTopAsesParamsQueryTypeNb DNSTopAsesParamsQueryType = "NB"` - `const DNSTopAsesParamsQueryTypeNbstat DNSTopAsesParamsQueryType = "NBSTAT"` - `const DNSTopAsesParamsQueryTypeNid DNSTopAsesParamsQueryType = "NID"` - `const DNSTopAsesParamsQueryTypeNimloc DNSTopAsesParamsQueryType = "NIMLOC"` - `const DNSTopAsesParamsQueryTypeNinfo DNSTopAsesParamsQueryType = "NINFO"` - `const DNSTopAsesParamsQueryTypeNS DNSTopAsesParamsQueryType = "NS"` - `const DNSTopAsesParamsQueryTypeNsap DNSTopAsesParamsQueryType = "NSAP"` - `const DNSTopAsesParamsQueryTypeNsec DNSTopAsesParamsQueryType = "NSEC"` - `const DNSTopAsesParamsQueryTypeNsec3 DNSTopAsesParamsQueryType = "NSEC3"` - `const DNSTopAsesParamsQueryTypeNsec3Param DNSTopAsesParamsQueryType = "NSEC3PARAM"` - `const DNSTopAsesParamsQueryTypeNull DNSTopAsesParamsQueryType = "NULL"` - `const DNSTopAsesParamsQueryTypeNxt DNSTopAsesParamsQueryType = "NXT"` - `const DNSTopAsesParamsQueryTypeOpenpgpkey DNSTopAsesParamsQueryType = "OPENPGPKEY"` - `const DNSTopAsesParamsQueryTypeOpt DNSTopAsesParamsQueryType = "OPT"` - `const DNSTopAsesParamsQueryTypePTR DNSTopAsesParamsQueryType = "PTR"` - `const DNSTopAsesParamsQueryTypePx DNSTopAsesParamsQueryType = "PX"` - `const DNSTopAsesParamsQueryTypeRkey DNSTopAsesParamsQueryType = "RKEY"` - `const DNSTopAsesParamsQueryTypeRp DNSTopAsesParamsQueryType = "RP"` - `const DNSTopAsesParamsQueryTypeRrsig DNSTopAsesParamsQueryType = "RRSIG"` - `const DNSTopAsesParamsQueryTypeRt DNSTopAsesParamsQueryType = "RT"` - `const DNSTopAsesParamsQueryTypeSig DNSTopAsesParamsQueryType = "SIG"` - `const DNSTopAsesParamsQueryTypeSink DNSTopAsesParamsQueryType = "SINK"` - `const DNSTopAsesParamsQueryTypeSMIMEA DNSTopAsesParamsQueryType = "SMIMEA"` - `const DNSTopAsesParamsQueryTypeSOA DNSTopAsesParamsQueryType = "SOA"` - `const DNSTopAsesParamsQueryTypeSPF DNSTopAsesParamsQueryType = "SPF"` - `const DNSTopAsesParamsQueryTypeSRV DNSTopAsesParamsQueryType = "SRV"` - `const DNSTopAsesParamsQueryTypeSSHFP DNSTopAsesParamsQueryType = "SSHFP"` - `const DNSTopAsesParamsQueryTypeSVCB DNSTopAsesParamsQueryType = "SVCB"` - `const DNSTopAsesParamsQueryTypeTa DNSTopAsesParamsQueryType = "TA"` - `const DNSTopAsesParamsQueryTypeTalink DNSTopAsesParamsQueryType = "TALINK"` - `const DNSTopAsesParamsQueryTypeTkey DNSTopAsesParamsQueryType = "TKEY"` - `const DNSTopAsesParamsQueryTypeTLSA DNSTopAsesParamsQueryType = "TLSA"` - `const DNSTopAsesParamsQueryTypeTSIG DNSTopAsesParamsQueryType = "TSIG"` - `const DNSTopAsesParamsQueryTypeTXT DNSTopAsesParamsQueryType = "TXT"` - `const DNSTopAsesParamsQueryTypeUinfo DNSTopAsesParamsQueryType = "UINFO"` - `const DNSTopAsesParamsQueryTypeUID DNSTopAsesParamsQueryType = "UID"` - `const DNSTopAsesParamsQueryTypeUnspec DNSTopAsesParamsQueryType = "UNSPEC"` - `const DNSTopAsesParamsQueryTypeURI DNSTopAsesParamsQueryType = "URI"` - `const DNSTopAsesParamsQueryTypeWks DNSTopAsesParamsQueryType = "WKS"` - `const DNSTopAsesParamsQueryTypeX25 DNSTopAsesParamsQueryType = "X25"` - `const DNSTopAsesParamsQueryTypeZonemd DNSTopAsesParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTopAsesParamsResponseCode]` Filters results by DNS response code. - `const DNSTopAsesParamsResponseCodeNoerror DNSTopAsesParamsResponseCode = "NOERROR"` - `const DNSTopAsesParamsResponseCodeFormerr DNSTopAsesParamsResponseCode = "FORMERR"` - `const DNSTopAsesParamsResponseCodeServfail DNSTopAsesParamsResponseCode = "SERVFAIL"` - `const DNSTopAsesParamsResponseCodeNxdomain DNSTopAsesParamsResponseCode = "NXDOMAIN"` - `const DNSTopAsesParamsResponseCodeNotimp DNSTopAsesParamsResponseCode = "NOTIMP"` - `const DNSTopAsesParamsResponseCodeRefused DNSTopAsesParamsResponseCode = "REFUSED"` - `const DNSTopAsesParamsResponseCodeYxdomain DNSTopAsesParamsResponseCode = "YXDOMAIN"` - `const DNSTopAsesParamsResponseCodeYxrrset DNSTopAsesParamsResponseCode = "YXRRSET"` - `const DNSTopAsesParamsResponseCodeNxrrset DNSTopAsesParamsResponseCode = "NXRRSET"` - `const DNSTopAsesParamsResponseCodeNotauth DNSTopAsesParamsResponseCode = "NOTAUTH"` - `const DNSTopAsesParamsResponseCodeNotzone DNSTopAsesParamsResponseCode = "NOTZONE"` - `const DNSTopAsesParamsResponseCodeBadsig DNSTopAsesParamsResponseCode = "BADSIG"` - `const DNSTopAsesParamsResponseCodeBadkey DNSTopAsesParamsResponseCode = "BADKEY"` - `const DNSTopAsesParamsResponseCodeBadtime DNSTopAsesParamsResponseCode = "BADTIME"` - `const DNSTopAsesParamsResponseCodeBadmode DNSTopAsesParamsResponseCode = "BADMODE"` - `const DNSTopAsesParamsResponseCodeBadname DNSTopAsesParamsResponseCode = "BADNAME"` - `const DNSTopAsesParamsResponseCodeBadalg DNSTopAsesParamsResponseCode = "BADALG"` - `const DNSTopAsesParamsResponseCodeBadtrunc DNSTopAsesParamsResponseCode = "BADTRUNC"` - `const DNSTopAsesParamsResponseCodeBadcookie DNSTopAsesParamsResponseCode = "BADCOOKIE"` - `ResponseTTL param.Field[[]DNSTopAsesParamsResponseTTL]` Filters results by DNS response TTL. - `const DNSTopAsesParamsResponseTTLLte1M DNSTopAsesParamsResponseTTL = "LTE_1M"` - `const DNSTopAsesParamsResponseTTLGt1MLte5M DNSTopAsesParamsResponseTTL = "GT_1M_LTE_5M"` - `const DNSTopAsesParamsResponseTTLGt5MLte15M DNSTopAsesParamsResponseTTL = "GT_5M_LTE_15M"` - `const DNSTopAsesParamsResponseTTLGt15MLte1H DNSTopAsesParamsResponseTTL = "GT_15M_LTE_1H"` - `const DNSTopAsesParamsResponseTTLGt1HLte1D DNSTopAsesParamsResponseTTL = "GT_1H_LTE_1D"` - `const DNSTopAsesParamsResponseTTLGt1DLte1W DNSTopAsesParamsResponseTTL = "GT_1D_LTE_1W"` - `const DNSTopAsesParamsResponseTTLGt1W DNSTopAsesParamsResponseTTL = "GT_1W"` ### Returns - `type DNSTopAsesResponse struct{…}` - `Meta DNSTopAsesResponseMeta` Metadata for the results. - `ConfidenceInfo DNSTopAsesResponseMetaConfidenceInfo` - `Annotations []DNSTopAsesResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTopAsesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTopAsesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTopAsesResponseMetaNormalizationPercentage DNSTopAsesResponseMetaNormalization = "PERCENTAGE"` - `const DNSTopAsesResponseMetaNormalizationMin0Max DNSTopAsesResponseMetaNormalization = "MIN0_MAX"` - `const DNSTopAsesResponseMetaNormalizationMinMax DNSTopAsesResponseMetaNormalization = "MIN_MAX"` - `const DNSTopAsesResponseMetaNormalizationRawValues DNSTopAsesResponseMetaNormalization = "RAW_VALUES"` - `const DNSTopAsesResponseMetaNormalizationPercentageChange DNSTopAsesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTopAsesResponseMetaNormalizationRollingAverage DNSTopAsesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTopAsesResponseMetaNormalizationOverlappedPercentage DNSTopAsesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTopAsesResponseMetaNormalizationRatio DNSTopAsesResponseMetaNormalization = "RATIO"` - `Units []DNSTopAsesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []DNSTopAsesResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Top.Ases(context.TODO(), radar.DNSTopAsesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Top.Locations(ctx, query) (*DNSTopLocationsResponse, error)` **get** `/radar/dns/top/locations` Retrieves the top locations by DNS queries made to 1.1.1.1 DNS resolver. ### Parameters - `query DNSTopLocationsParams` - `ASN param.Field[[]string]` 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. - `CacheHit param.Field[[]bool]` Filters results based on cache status. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DNSSEC param.Field[[]DNSTopLocationsParamsDNSSEC]` Filters results based on DNSSEC (DNS Security Extensions) support. - `const DNSTopLocationsParamsDNSSECInvalid DNSTopLocationsParamsDNSSEC = "INVALID"` - `const DNSTopLocationsParamsDNSSECInsecure DNSTopLocationsParamsDNSSEC = "INSECURE"` - `const DNSTopLocationsParamsDNSSECSecure DNSTopLocationsParamsDNSSEC = "SECURE"` - `const DNSTopLocationsParamsDNSSECOther DNSTopLocationsParamsDNSSEC = "OTHER"` - `DNSSECAware param.Field[[]DNSTopLocationsParamsDNSSECAware]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `const DNSTopLocationsParamsDNSSECAwareSupported DNSTopLocationsParamsDNSSECAware = "SUPPORTED"` - `const DNSTopLocationsParamsDNSSECAwareNotSupported DNSTopLocationsParamsDNSSECAware = "NOT_SUPPORTED"` - `DNSSECE2E param.Field[[]bool]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `Domain param.Field[[]string]` Filters results by domain name. - `Format param.Field[DNSTopLocationsParamsFormat]` Format in which results will be returned. - `const DNSTopLocationsParamsFormatJson DNSTopLocationsParamsFormat = "JSON"` - `const DNSTopLocationsParamsFormatCsv DNSTopLocationsParamsFormat = "CSV"` - `IPVersion param.Field[[]DNSTopLocationsParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const DNSTopLocationsParamsIPVersionIPv4 DNSTopLocationsParamsIPVersion = "IPv4"` - `const DNSTopLocationsParamsIPVersionIPv6 DNSTopLocationsParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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. - `MatchingAnswer param.Field[[]bool]` Filters results based on whether the queries have a matching answer. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTopLocationsParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTopLocationsParamsProtocolUdp DNSTopLocationsParamsProtocol = "UDP"` - `const DNSTopLocationsParamsProtocolTCP DNSTopLocationsParamsProtocol = "TCP"` - `const DNSTopLocationsParamsProtocolHTTPS DNSTopLocationsParamsProtocol = "HTTPS"` - `const DNSTopLocationsParamsProtocolTLS DNSTopLocationsParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTopLocationsParamsQueryType]` Filters results by DNS query type. - `const DNSTopLocationsParamsQueryTypeA DNSTopLocationsParamsQueryType = "A"` - `const DNSTopLocationsParamsQueryTypeAAAA DNSTopLocationsParamsQueryType = "AAAA"` - `const DNSTopLocationsParamsQueryTypeA6 DNSTopLocationsParamsQueryType = "A6"` - `const DNSTopLocationsParamsQueryTypeAfsdb DNSTopLocationsParamsQueryType = "AFSDB"` - `const DNSTopLocationsParamsQueryTypeAny DNSTopLocationsParamsQueryType = "ANY"` - `const DNSTopLocationsParamsQueryTypeApl DNSTopLocationsParamsQueryType = "APL"` - `const DNSTopLocationsParamsQueryTypeAtma DNSTopLocationsParamsQueryType = "ATMA"` - `const DNSTopLocationsParamsQueryTypeAXFR DNSTopLocationsParamsQueryType = "AXFR"` - `const DNSTopLocationsParamsQueryTypeCAA DNSTopLocationsParamsQueryType = "CAA"` - `const DNSTopLocationsParamsQueryTypeCdnskey DNSTopLocationsParamsQueryType = "CDNSKEY"` - `const DNSTopLocationsParamsQueryTypeCds DNSTopLocationsParamsQueryType = "CDS"` - `const DNSTopLocationsParamsQueryTypeCERT DNSTopLocationsParamsQueryType = "CERT"` - `const DNSTopLocationsParamsQueryTypeCNAME DNSTopLocationsParamsQueryType = "CNAME"` - `const DNSTopLocationsParamsQueryTypeCsync DNSTopLocationsParamsQueryType = "CSYNC"` - `const DNSTopLocationsParamsQueryTypeDhcid DNSTopLocationsParamsQueryType = "DHCID"` - `const DNSTopLocationsParamsQueryTypeDlv DNSTopLocationsParamsQueryType = "DLV"` - `const DNSTopLocationsParamsQueryTypeDname DNSTopLocationsParamsQueryType = "DNAME"` - `const DNSTopLocationsParamsQueryTypeDNSKEY DNSTopLocationsParamsQueryType = "DNSKEY"` - `const DNSTopLocationsParamsQueryTypeDoa DNSTopLocationsParamsQueryType = "DOA"` - `const DNSTopLocationsParamsQueryTypeDS DNSTopLocationsParamsQueryType = "DS"` - `const DNSTopLocationsParamsQueryTypeEid DNSTopLocationsParamsQueryType = "EID"` - `const DNSTopLocationsParamsQueryTypeEui48 DNSTopLocationsParamsQueryType = "EUI48"` - `const DNSTopLocationsParamsQueryTypeEui64 DNSTopLocationsParamsQueryType = "EUI64"` - `const DNSTopLocationsParamsQueryTypeGpos DNSTopLocationsParamsQueryType = "GPOS"` - `const DNSTopLocationsParamsQueryTypeGid DNSTopLocationsParamsQueryType = "GID"` - `const DNSTopLocationsParamsQueryTypeHinfo DNSTopLocationsParamsQueryType = "HINFO"` - `const DNSTopLocationsParamsQueryTypeHip DNSTopLocationsParamsQueryType = "HIP"` - `const DNSTopLocationsParamsQueryTypeHTTPS DNSTopLocationsParamsQueryType = "HTTPS"` - `const DNSTopLocationsParamsQueryTypeIpseckey DNSTopLocationsParamsQueryType = "IPSECKEY"` - `const DNSTopLocationsParamsQueryTypeIsdn DNSTopLocationsParamsQueryType = "ISDN"` - `const DNSTopLocationsParamsQueryTypeIxfr DNSTopLocationsParamsQueryType = "IXFR"` - `const DNSTopLocationsParamsQueryTypeKey DNSTopLocationsParamsQueryType = "KEY"` - `const DNSTopLocationsParamsQueryTypeKx DNSTopLocationsParamsQueryType = "KX"` - `const DNSTopLocationsParamsQueryTypeL32 DNSTopLocationsParamsQueryType = "L32"` - `const DNSTopLocationsParamsQueryTypeL64 DNSTopLocationsParamsQueryType = "L64"` - `const DNSTopLocationsParamsQueryTypeLOC DNSTopLocationsParamsQueryType = "LOC"` - `const DNSTopLocationsParamsQueryTypeLp DNSTopLocationsParamsQueryType = "LP"` - `const DNSTopLocationsParamsQueryTypeMaila DNSTopLocationsParamsQueryType = "MAILA"` - `const DNSTopLocationsParamsQueryTypeMailb DNSTopLocationsParamsQueryType = "MAILB"` - `const DNSTopLocationsParamsQueryTypeMB DNSTopLocationsParamsQueryType = "MB"` - `const DNSTopLocationsParamsQueryTypeMd DNSTopLocationsParamsQueryType = "MD"` - `const DNSTopLocationsParamsQueryTypeMf DNSTopLocationsParamsQueryType = "MF"` - `const DNSTopLocationsParamsQueryTypeMg DNSTopLocationsParamsQueryType = "MG"` - `const DNSTopLocationsParamsQueryTypeMinfo DNSTopLocationsParamsQueryType = "MINFO"` - `const DNSTopLocationsParamsQueryTypeMr DNSTopLocationsParamsQueryType = "MR"` - `const DNSTopLocationsParamsQueryTypeMX DNSTopLocationsParamsQueryType = "MX"` - `const DNSTopLocationsParamsQueryTypeNAPTR DNSTopLocationsParamsQueryType = "NAPTR"` - `const DNSTopLocationsParamsQueryTypeNb DNSTopLocationsParamsQueryType = "NB"` - `const DNSTopLocationsParamsQueryTypeNbstat DNSTopLocationsParamsQueryType = "NBSTAT"` - `const DNSTopLocationsParamsQueryTypeNid DNSTopLocationsParamsQueryType = "NID"` - `const DNSTopLocationsParamsQueryTypeNimloc DNSTopLocationsParamsQueryType = "NIMLOC"` - `const DNSTopLocationsParamsQueryTypeNinfo DNSTopLocationsParamsQueryType = "NINFO"` - `const DNSTopLocationsParamsQueryTypeNS DNSTopLocationsParamsQueryType = "NS"` - `const DNSTopLocationsParamsQueryTypeNsap DNSTopLocationsParamsQueryType = "NSAP"` - `const DNSTopLocationsParamsQueryTypeNsec DNSTopLocationsParamsQueryType = "NSEC"` - `const DNSTopLocationsParamsQueryTypeNsec3 DNSTopLocationsParamsQueryType = "NSEC3"` - `const DNSTopLocationsParamsQueryTypeNsec3Param DNSTopLocationsParamsQueryType = "NSEC3PARAM"` - `const DNSTopLocationsParamsQueryTypeNull DNSTopLocationsParamsQueryType = "NULL"` - `const DNSTopLocationsParamsQueryTypeNxt DNSTopLocationsParamsQueryType = "NXT"` - `const DNSTopLocationsParamsQueryTypeOpenpgpkey DNSTopLocationsParamsQueryType = "OPENPGPKEY"` - `const DNSTopLocationsParamsQueryTypeOpt DNSTopLocationsParamsQueryType = "OPT"` - `const DNSTopLocationsParamsQueryTypePTR DNSTopLocationsParamsQueryType = "PTR"` - `const DNSTopLocationsParamsQueryTypePx DNSTopLocationsParamsQueryType = "PX"` - `const DNSTopLocationsParamsQueryTypeRkey DNSTopLocationsParamsQueryType = "RKEY"` - `const DNSTopLocationsParamsQueryTypeRp DNSTopLocationsParamsQueryType = "RP"` - `const DNSTopLocationsParamsQueryTypeRrsig DNSTopLocationsParamsQueryType = "RRSIG"` - `const DNSTopLocationsParamsQueryTypeRt DNSTopLocationsParamsQueryType = "RT"` - `const DNSTopLocationsParamsQueryTypeSig DNSTopLocationsParamsQueryType = "SIG"` - `const DNSTopLocationsParamsQueryTypeSink DNSTopLocationsParamsQueryType = "SINK"` - `const DNSTopLocationsParamsQueryTypeSMIMEA DNSTopLocationsParamsQueryType = "SMIMEA"` - `const DNSTopLocationsParamsQueryTypeSOA DNSTopLocationsParamsQueryType = "SOA"` - `const DNSTopLocationsParamsQueryTypeSPF DNSTopLocationsParamsQueryType = "SPF"` - `const DNSTopLocationsParamsQueryTypeSRV DNSTopLocationsParamsQueryType = "SRV"` - `const DNSTopLocationsParamsQueryTypeSSHFP DNSTopLocationsParamsQueryType = "SSHFP"` - `const DNSTopLocationsParamsQueryTypeSVCB DNSTopLocationsParamsQueryType = "SVCB"` - `const DNSTopLocationsParamsQueryTypeTa DNSTopLocationsParamsQueryType = "TA"` - `const DNSTopLocationsParamsQueryTypeTalink DNSTopLocationsParamsQueryType = "TALINK"` - `const DNSTopLocationsParamsQueryTypeTkey DNSTopLocationsParamsQueryType = "TKEY"` - `const DNSTopLocationsParamsQueryTypeTLSA DNSTopLocationsParamsQueryType = "TLSA"` - `const DNSTopLocationsParamsQueryTypeTSIG DNSTopLocationsParamsQueryType = "TSIG"` - `const DNSTopLocationsParamsQueryTypeTXT DNSTopLocationsParamsQueryType = "TXT"` - `const DNSTopLocationsParamsQueryTypeUinfo DNSTopLocationsParamsQueryType = "UINFO"` - `const DNSTopLocationsParamsQueryTypeUID DNSTopLocationsParamsQueryType = "UID"` - `const DNSTopLocationsParamsQueryTypeUnspec DNSTopLocationsParamsQueryType = "UNSPEC"` - `const DNSTopLocationsParamsQueryTypeURI DNSTopLocationsParamsQueryType = "URI"` - `const DNSTopLocationsParamsQueryTypeWks DNSTopLocationsParamsQueryType = "WKS"` - `const DNSTopLocationsParamsQueryTypeX25 DNSTopLocationsParamsQueryType = "X25"` - `const DNSTopLocationsParamsQueryTypeZonemd DNSTopLocationsParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTopLocationsParamsResponseCode]` Filters results by DNS response code. - `const DNSTopLocationsParamsResponseCodeNoerror DNSTopLocationsParamsResponseCode = "NOERROR"` - `const DNSTopLocationsParamsResponseCodeFormerr DNSTopLocationsParamsResponseCode = "FORMERR"` - `const DNSTopLocationsParamsResponseCodeServfail DNSTopLocationsParamsResponseCode = "SERVFAIL"` - `const DNSTopLocationsParamsResponseCodeNxdomain DNSTopLocationsParamsResponseCode = "NXDOMAIN"` - `const DNSTopLocationsParamsResponseCodeNotimp DNSTopLocationsParamsResponseCode = "NOTIMP"` - `const DNSTopLocationsParamsResponseCodeRefused DNSTopLocationsParamsResponseCode = "REFUSED"` - `const DNSTopLocationsParamsResponseCodeYxdomain DNSTopLocationsParamsResponseCode = "YXDOMAIN"` - `const DNSTopLocationsParamsResponseCodeYxrrset DNSTopLocationsParamsResponseCode = "YXRRSET"` - `const DNSTopLocationsParamsResponseCodeNxrrset DNSTopLocationsParamsResponseCode = "NXRRSET"` - `const DNSTopLocationsParamsResponseCodeNotauth DNSTopLocationsParamsResponseCode = "NOTAUTH"` - `const DNSTopLocationsParamsResponseCodeNotzone DNSTopLocationsParamsResponseCode = "NOTZONE"` - `const DNSTopLocationsParamsResponseCodeBadsig DNSTopLocationsParamsResponseCode = "BADSIG"` - `const DNSTopLocationsParamsResponseCodeBadkey DNSTopLocationsParamsResponseCode = "BADKEY"` - `const DNSTopLocationsParamsResponseCodeBadtime DNSTopLocationsParamsResponseCode = "BADTIME"` - `const DNSTopLocationsParamsResponseCodeBadmode DNSTopLocationsParamsResponseCode = "BADMODE"` - `const DNSTopLocationsParamsResponseCodeBadname DNSTopLocationsParamsResponseCode = "BADNAME"` - `const DNSTopLocationsParamsResponseCodeBadalg DNSTopLocationsParamsResponseCode = "BADALG"` - `const DNSTopLocationsParamsResponseCodeBadtrunc DNSTopLocationsParamsResponseCode = "BADTRUNC"` - `const DNSTopLocationsParamsResponseCodeBadcookie DNSTopLocationsParamsResponseCode = "BADCOOKIE"` - `ResponseTTL param.Field[[]DNSTopLocationsParamsResponseTTL]` Filters results by DNS response TTL. - `const DNSTopLocationsParamsResponseTTLLte1M DNSTopLocationsParamsResponseTTL = "LTE_1M"` - `const DNSTopLocationsParamsResponseTTLGt1MLte5M DNSTopLocationsParamsResponseTTL = "GT_1M_LTE_5M"` - `const DNSTopLocationsParamsResponseTTLGt5MLte15M DNSTopLocationsParamsResponseTTL = "GT_5M_LTE_15M"` - `const DNSTopLocationsParamsResponseTTLGt15MLte1H DNSTopLocationsParamsResponseTTL = "GT_15M_LTE_1H"` - `const DNSTopLocationsParamsResponseTTLGt1HLte1D DNSTopLocationsParamsResponseTTL = "GT_1H_LTE_1D"` - `const DNSTopLocationsParamsResponseTTLGt1DLte1W DNSTopLocationsParamsResponseTTL = "GT_1D_LTE_1W"` - `const DNSTopLocationsParamsResponseTTLGt1W DNSTopLocationsParamsResponseTTL = "GT_1W"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTopLocationsResponse struct{…}` - `Meta DNSTopLocationsResponseMeta` Metadata for the results. - `ConfidenceInfo DNSTopLocationsResponseMetaConfidenceInfo` - `Annotations []DNSTopLocationsResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTopLocationsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTopLocationsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTopLocationsResponseMetaNormalizationPercentage DNSTopLocationsResponseMetaNormalization = "PERCENTAGE"` - `const DNSTopLocationsResponseMetaNormalizationMin0Max DNSTopLocationsResponseMetaNormalization = "MIN0_MAX"` - `const DNSTopLocationsResponseMetaNormalizationMinMax DNSTopLocationsResponseMetaNormalization = "MIN_MAX"` - `const DNSTopLocationsResponseMetaNormalizationRawValues DNSTopLocationsResponseMetaNormalization = "RAW_VALUES"` - `const DNSTopLocationsResponseMetaNormalizationPercentageChange DNSTopLocationsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTopLocationsResponseMetaNormalizationRollingAverage DNSTopLocationsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTopLocationsResponseMetaNormalizationOverlappedPercentage DNSTopLocationsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTopLocationsResponseMetaNormalizationRatio DNSTopLocationsResponseMetaNormalization = "RATIO"` - `Units []DNSTopLocationsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []DNSTopLocationsResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Top.Locations(context.TODO(), radar.DNSTopLocationsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get DNS queries by cache status summary `client.Radar.DNS.Summary.CacheHit(ctx, query) (*DNSSummaryCacheHitResponse, error)` **get** `/radar/dns/summary/cache_hit` Retrieves the distribution of DNS queries by cache status. ### Parameters - `query DNSSummaryCacheHitParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryCacheHitParamsFormat]` Format in which results will be returned. - `const DNSSummaryCacheHitParamsFormatJson DNSSummaryCacheHitParamsFormat = "JSON"` - `const DNSSummaryCacheHitParamsFormatCsv DNSSummaryCacheHitParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryCacheHitParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryCacheHitParamsProtocolUdp DNSSummaryCacheHitParamsProtocol = "UDP"` - `const DNSSummaryCacheHitParamsProtocolTCP DNSSummaryCacheHitParamsProtocol = "TCP"` - `const DNSSummaryCacheHitParamsProtocolHTTPS DNSSummaryCacheHitParamsProtocol = "HTTPS"` - `const DNSSummaryCacheHitParamsProtocolTLS DNSSummaryCacheHitParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryCacheHitParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryCacheHitParamsQueryTypeA DNSSummaryCacheHitParamsQueryType = "A"` - `const DNSSummaryCacheHitParamsQueryTypeAAAA DNSSummaryCacheHitParamsQueryType = "AAAA"` - `const DNSSummaryCacheHitParamsQueryTypeA6 DNSSummaryCacheHitParamsQueryType = "A6"` - `const DNSSummaryCacheHitParamsQueryTypeAfsdb DNSSummaryCacheHitParamsQueryType = "AFSDB"` - `const DNSSummaryCacheHitParamsQueryTypeAny DNSSummaryCacheHitParamsQueryType = "ANY"` - `const DNSSummaryCacheHitParamsQueryTypeApl DNSSummaryCacheHitParamsQueryType = "APL"` - `const DNSSummaryCacheHitParamsQueryTypeAtma DNSSummaryCacheHitParamsQueryType = "ATMA"` - `const DNSSummaryCacheHitParamsQueryTypeAXFR DNSSummaryCacheHitParamsQueryType = "AXFR"` - `const DNSSummaryCacheHitParamsQueryTypeCAA DNSSummaryCacheHitParamsQueryType = "CAA"` - `const DNSSummaryCacheHitParamsQueryTypeCdnskey DNSSummaryCacheHitParamsQueryType = "CDNSKEY"` - `const DNSSummaryCacheHitParamsQueryTypeCds DNSSummaryCacheHitParamsQueryType = "CDS"` - `const DNSSummaryCacheHitParamsQueryTypeCERT DNSSummaryCacheHitParamsQueryType = "CERT"` - `const DNSSummaryCacheHitParamsQueryTypeCNAME DNSSummaryCacheHitParamsQueryType = "CNAME"` - `const DNSSummaryCacheHitParamsQueryTypeCsync DNSSummaryCacheHitParamsQueryType = "CSYNC"` - `const DNSSummaryCacheHitParamsQueryTypeDhcid DNSSummaryCacheHitParamsQueryType = "DHCID"` - `const DNSSummaryCacheHitParamsQueryTypeDlv DNSSummaryCacheHitParamsQueryType = "DLV"` - `const DNSSummaryCacheHitParamsQueryTypeDname DNSSummaryCacheHitParamsQueryType = "DNAME"` - `const DNSSummaryCacheHitParamsQueryTypeDNSKEY DNSSummaryCacheHitParamsQueryType = "DNSKEY"` - `const DNSSummaryCacheHitParamsQueryTypeDoa DNSSummaryCacheHitParamsQueryType = "DOA"` - `const DNSSummaryCacheHitParamsQueryTypeDS DNSSummaryCacheHitParamsQueryType = "DS"` - `const DNSSummaryCacheHitParamsQueryTypeEid DNSSummaryCacheHitParamsQueryType = "EID"` - `const DNSSummaryCacheHitParamsQueryTypeEui48 DNSSummaryCacheHitParamsQueryType = "EUI48"` - `const DNSSummaryCacheHitParamsQueryTypeEui64 DNSSummaryCacheHitParamsQueryType = "EUI64"` - `const DNSSummaryCacheHitParamsQueryTypeGpos DNSSummaryCacheHitParamsQueryType = "GPOS"` - `const DNSSummaryCacheHitParamsQueryTypeGid DNSSummaryCacheHitParamsQueryType = "GID"` - `const DNSSummaryCacheHitParamsQueryTypeHinfo DNSSummaryCacheHitParamsQueryType = "HINFO"` - `const DNSSummaryCacheHitParamsQueryTypeHip DNSSummaryCacheHitParamsQueryType = "HIP"` - `const DNSSummaryCacheHitParamsQueryTypeHTTPS DNSSummaryCacheHitParamsQueryType = "HTTPS"` - `const DNSSummaryCacheHitParamsQueryTypeIpseckey DNSSummaryCacheHitParamsQueryType = "IPSECKEY"` - `const DNSSummaryCacheHitParamsQueryTypeIsdn DNSSummaryCacheHitParamsQueryType = "ISDN"` - `const DNSSummaryCacheHitParamsQueryTypeIxfr DNSSummaryCacheHitParamsQueryType = "IXFR"` - `const DNSSummaryCacheHitParamsQueryTypeKey DNSSummaryCacheHitParamsQueryType = "KEY"` - `const DNSSummaryCacheHitParamsQueryTypeKx DNSSummaryCacheHitParamsQueryType = "KX"` - `const DNSSummaryCacheHitParamsQueryTypeL32 DNSSummaryCacheHitParamsQueryType = "L32"` - `const DNSSummaryCacheHitParamsQueryTypeL64 DNSSummaryCacheHitParamsQueryType = "L64"` - `const DNSSummaryCacheHitParamsQueryTypeLOC DNSSummaryCacheHitParamsQueryType = "LOC"` - `const DNSSummaryCacheHitParamsQueryTypeLp DNSSummaryCacheHitParamsQueryType = "LP"` - `const DNSSummaryCacheHitParamsQueryTypeMaila DNSSummaryCacheHitParamsQueryType = "MAILA"` - `const DNSSummaryCacheHitParamsQueryTypeMailb DNSSummaryCacheHitParamsQueryType = "MAILB"` - `const DNSSummaryCacheHitParamsQueryTypeMB DNSSummaryCacheHitParamsQueryType = "MB"` - `const DNSSummaryCacheHitParamsQueryTypeMd DNSSummaryCacheHitParamsQueryType = "MD"` - `const DNSSummaryCacheHitParamsQueryTypeMf DNSSummaryCacheHitParamsQueryType = "MF"` - `const DNSSummaryCacheHitParamsQueryTypeMg DNSSummaryCacheHitParamsQueryType = "MG"` - `const DNSSummaryCacheHitParamsQueryTypeMinfo DNSSummaryCacheHitParamsQueryType = "MINFO"` - `const DNSSummaryCacheHitParamsQueryTypeMr DNSSummaryCacheHitParamsQueryType = "MR"` - `const DNSSummaryCacheHitParamsQueryTypeMX DNSSummaryCacheHitParamsQueryType = "MX"` - `const DNSSummaryCacheHitParamsQueryTypeNAPTR DNSSummaryCacheHitParamsQueryType = "NAPTR"` - `const DNSSummaryCacheHitParamsQueryTypeNb DNSSummaryCacheHitParamsQueryType = "NB"` - `const DNSSummaryCacheHitParamsQueryTypeNbstat DNSSummaryCacheHitParamsQueryType = "NBSTAT"` - `const DNSSummaryCacheHitParamsQueryTypeNid DNSSummaryCacheHitParamsQueryType = "NID"` - `const DNSSummaryCacheHitParamsQueryTypeNimloc DNSSummaryCacheHitParamsQueryType = "NIMLOC"` - `const DNSSummaryCacheHitParamsQueryTypeNinfo DNSSummaryCacheHitParamsQueryType = "NINFO"` - `const DNSSummaryCacheHitParamsQueryTypeNS DNSSummaryCacheHitParamsQueryType = "NS"` - `const DNSSummaryCacheHitParamsQueryTypeNsap DNSSummaryCacheHitParamsQueryType = "NSAP"` - `const DNSSummaryCacheHitParamsQueryTypeNsec DNSSummaryCacheHitParamsQueryType = "NSEC"` - `const DNSSummaryCacheHitParamsQueryTypeNsec3 DNSSummaryCacheHitParamsQueryType = "NSEC3"` - `const DNSSummaryCacheHitParamsQueryTypeNsec3Param DNSSummaryCacheHitParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryCacheHitParamsQueryTypeNull DNSSummaryCacheHitParamsQueryType = "NULL"` - `const DNSSummaryCacheHitParamsQueryTypeNxt DNSSummaryCacheHitParamsQueryType = "NXT"` - `const DNSSummaryCacheHitParamsQueryTypeOpenpgpkey DNSSummaryCacheHitParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryCacheHitParamsQueryTypeOpt DNSSummaryCacheHitParamsQueryType = "OPT"` - `const DNSSummaryCacheHitParamsQueryTypePTR DNSSummaryCacheHitParamsQueryType = "PTR"` - `const DNSSummaryCacheHitParamsQueryTypePx DNSSummaryCacheHitParamsQueryType = "PX"` - `const DNSSummaryCacheHitParamsQueryTypeRkey DNSSummaryCacheHitParamsQueryType = "RKEY"` - `const DNSSummaryCacheHitParamsQueryTypeRp DNSSummaryCacheHitParamsQueryType = "RP"` - `const DNSSummaryCacheHitParamsQueryTypeRrsig DNSSummaryCacheHitParamsQueryType = "RRSIG"` - `const DNSSummaryCacheHitParamsQueryTypeRt DNSSummaryCacheHitParamsQueryType = "RT"` - `const DNSSummaryCacheHitParamsQueryTypeSig DNSSummaryCacheHitParamsQueryType = "SIG"` - `const DNSSummaryCacheHitParamsQueryTypeSink DNSSummaryCacheHitParamsQueryType = "SINK"` - `const DNSSummaryCacheHitParamsQueryTypeSMIMEA DNSSummaryCacheHitParamsQueryType = "SMIMEA"` - `const DNSSummaryCacheHitParamsQueryTypeSOA DNSSummaryCacheHitParamsQueryType = "SOA"` - `const DNSSummaryCacheHitParamsQueryTypeSPF DNSSummaryCacheHitParamsQueryType = "SPF"` - `const DNSSummaryCacheHitParamsQueryTypeSRV DNSSummaryCacheHitParamsQueryType = "SRV"` - `const DNSSummaryCacheHitParamsQueryTypeSSHFP DNSSummaryCacheHitParamsQueryType = "SSHFP"` - `const DNSSummaryCacheHitParamsQueryTypeSVCB DNSSummaryCacheHitParamsQueryType = "SVCB"` - `const DNSSummaryCacheHitParamsQueryTypeTa DNSSummaryCacheHitParamsQueryType = "TA"` - `const DNSSummaryCacheHitParamsQueryTypeTalink DNSSummaryCacheHitParamsQueryType = "TALINK"` - `const DNSSummaryCacheHitParamsQueryTypeTkey DNSSummaryCacheHitParamsQueryType = "TKEY"` - `const DNSSummaryCacheHitParamsQueryTypeTLSA DNSSummaryCacheHitParamsQueryType = "TLSA"` - `const DNSSummaryCacheHitParamsQueryTypeTSIG DNSSummaryCacheHitParamsQueryType = "TSIG"` - `const DNSSummaryCacheHitParamsQueryTypeTXT DNSSummaryCacheHitParamsQueryType = "TXT"` - `const DNSSummaryCacheHitParamsQueryTypeUinfo DNSSummaryCacheHitParamsQueryType = "UINFO"` - `const DNSSummaryCacheHitParamsQueryTypeUID DNSSummaryCacheHitParamsQueryType = "UID"` - `const DNSSummaryCacheHitParamsQueryTypeUnspec DNSSummaryCacheHitParamsQueryType = "UNSPEC"` - `const DNSSummaryCacheHitParamsQueryTypeURI DNSSummaryCacheHitParamsQueryType = "URI"` - `const DNSSummaryCacheHitParamsQueryTypeWks DNSSummaryCacheHitParamsQueryType = "WKS"` - `const DNSSummaryCacheHitParamsQueryTypeX25 DNSSummaryCacheHitParamsQueryType = "X25"` - `const DNSSummaryCacheHitParamsQueryTypeZonemd DNSSummaryCacheHitParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryCacheHitParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryCacheHitParamsResponseCodeNoerror DNSSummaryCacheHitParamsResponseCode = "NOERROR"` - `const DNSSummaryCacheHitParamsResponseCodeFormerr DNSSummaryCacheHitParamsResponseCode = "FORMERR"` - `const DNSSummaryCacheHitParamsResponseCodeServfail DNSSummaryCacheHitParamsResponseCode = "SERVFAIL"` - `const DNSSummaryCacheHitParamsResponseCodeNxdomain DNSSummaryCacheHitParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryCacheHitParamsResponseCodeNotimp DNSSummaryCacheHitParamsResponseCode = "NOTIMP"` - `const DNSSummaryCacheHitParamsResponseCodeRefused DNSSummaryCacheHitParamsResponseCode = "REFUSED"` - `const DNSSummaryCacheHitParamsResponseCodeYxdomain DNSSummaryCacheHitParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryCacheHitParamsResponseCodeYxrrset DNSSummaryCacheHitParamsResponseCode = "YXRRSET"` - `const DNSSummaryCacheHitParamsResponseCodeNxrrset DNSSummaryCacheHitParamsResponseCode = "NXRRSET"` - `const DNSSummaryCacheHitParamsResponseCodeNotauth DNSSummaryCacheHitParamsResponseCode = "NOTAUTH"` - `const DNSSummaryCacheHitParamsResponseCodeNotzone DNSSummaryCacheHitParamsResponseCode = "NOTZONE"` - `const DNSSummaryCacheHitParamsResponseCodeBadsig DNSSummaryCacheHitParamsResponseCode = "BADSIG"` - `const DNSSummaryCacheHitParamsResponseCodeBadkey DNSSummaryCacheHitParamsResponseCode = "BADKEY"` - `const DNSSummaryCacheHitParamsResponseCodeBadtime DNSSummaryCacheHitParamsResponseCode = "BADTIME"` - `const DNSSummaryCacheHitParamsResponseCodeBadmode DNSSummaryCacheHitParamsResponseCode = "BADMODE"` - `const DNSSummaryCacheHitParamsResponseCodeBadname DNSSummaryCacheHitParamsResponseCode = "BADNAME"` - `const DNSSummaryCacheHitParamsResponseCodeBadalg DNSSummaryCacheHitParamsResponseCode = "BADALG"` - `const DNSSummaryCacheHitParamsResponseCodeBadtrunc DNSSummaryCacheHitParamsResponseCode = "BADTRUNC"` - `const DNSSummaryCacheHitParamsResponseCodeBadcookie DNSSummaryCacheHitParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryCacheHitResponse struct{…}` - `Meta DNSSummaryCacheHitResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryCacheHitResponseMetaConfidenceInfo` - `Annotations []DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryCacheHitResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryCacheHitResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryCacheHitResponseMetaNormalizationPercentage DNSSummaryCacheHitResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryCacheHitResponseMetaNormalizationMin0Max DNSSummaryCacheHitResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryCacheHitResponseMetaNormalizationMinMax DNSSummaryCacheHitResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryCacheHitResponseMetaNormalizationRawValues DNSSummaryCacheHitResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryCacheHitResponseMetaNormalizationPercentageChange DNSSummaryCacheHitResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryCacheHitResponseMetaNormalizationRollingAverage DNSSummaryCacheHitResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryCacheHitResponseMetaNormalizationOverlappedPercentage DNSSummaryCacheHitResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryCacheHitResponseMetaNormalizationRatio DNSSummaryCacheHitResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryCacheHitResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryCacheHitResponseSummary0` - `Negative string` A numeric string. - `Positive string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.CacheHit(context.TODO(), radar.DNSSummaryCacheHitParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.DNSSEC(ctx, query) (*DNSSummaryDNSSECResponse, error)` **get** `/radar/dns/summary/dnssec` Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support. ### Parameters - `query DNSSummaryDNSSECParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryDNSSECParamsFormat]` Format in which results will be returned. - `const DNSSummaryDNSSECParamsFormatJson DNSSummaryDNSSECParamsFormat = "JSON"` - `const DNSSummaryDNSSECParamsFormatCsv DNSSummaryDNSSECParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryDNSSECParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryDNSSECParamsProtocolUdp DNSSummaryDNSSECParamsProtocol = "UDP"` - `const DNSSummaryDNSSECParamsProtocolTCP DNSSummaryDNSSECParamsProtocol = "TCP"` - `const DNSSummaryDNSSECParamsProtocolHTTPS DNSSummaryDNSSECParamsProtocol = "HTTPS"` - `const DNSSummaryDNSSECParamsProtocolTLS DNSSummaryDNSSECParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryDNSSECParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryDNSSECParamsQueryTypeA DNSSummaryDNSSECParamsQueryType = "A"` - `const DNSSummaryDNSSECParamsQueryTypeAAAA DNSSummaryDNSSECParamsQueryType = "AAAA"` - `const DNSSummaryDNSSECParamsQueryTypeA6 DNSSummaryDNSSECParamsQueryType = "A6"` - `const DNSSummaryDNSSECParamsQueryTypeAfsdb DNSSummaryDNSSECParamsQueryType = "AFSDB"` - `const DNSSummaryDNSSECParamsQueryTypeAny DNSSummaryDNSSECParamsQueryType = "ANY"` - `const DNSSummaryDNSSECParamsQueryTypeApl DNSSummaryDNSSECParamsQueryType = "APL"` - `const DNSSummaryDNSSECParamsQueryTypeAtma DNSSummaryDNSSECParamsQueryType = "ATMA"` - `const DNSSummaryDNSSECParamsQueryTypeAXFR DNSSummaryDNSSECParamsQueryType = "AXFR"` - `const DNSSummaryDNSSECParamsQueryTypeCAA DNSSummaryDNSSECParamsQueryType = "CAA"` - `const DNSSummaryDNSSECParamsQueryTypeCdnskey DNSSummaryDNSSECParamsQueryType = "CDNSKEY"` - `const DNSSummaryDNSSECParamsQueryTypeCds DNSSummaryDNSSECParamsQueryType = "CDS"` - `const DNSSummaryDNSSECParamsQueryTypeCERT DNSSummaryDNSSECParamsQueryType = "CERT"` - `const DNSSummaryDNSSECParamsQueryTypeCNAME DNSSummaryDNSSECParamsQueryType = "CNAME"` - `const DNSSummaryDNSSECParamsQueryTypeCsync DNSSummaryDNSSECParamsQueryType = "CSYNC"` - `const DNSSummaryDNSSECParamsQueryTypeDhcid DNSSummaryDNSSECParamsQueryType = "DHCID"` - `const DNSSummaryDNSSECParamsQueryTypeDlv DNSSummaryDNSSECParamsQueryType = "DLV"` - `const DNSSummaryDNSSECParamsQueryTypeDname DNSSummaryDNSSECParamsQueryType = "DNAME"` - `const DNSSummaryDNSSECParamsQueryTypeDNSKEY DNSSummaryDNSSECParamsQueryType = "DNSKEY"` - `const DNSSummaryDNSSECParamsQueryTypeDoa DNSSummaryDNSSECParamsQueryType = "DOA"` - `const DNSSummaryDNSSECParamsQueryTypeDS DNSSummaryDNSSECParamsQueryType = "DS"` - `const DNSSummaryDNSSECParamsQueryTypeEid DNSSummaryDNSSECParamsQueryType = "EID"` - `const DNSSummaryDNSSECParamsQueryTypeEui48 DNSSummaryDNSSECParamsQueryType = "EUI48"` - `const DNSSummaryDNSSECParamsQueryTypeEui64 DNSSummaryDNSSECParamsQueryType = "EUI64"` - `const DNSSummaryDNSSECParamsQueryTypeGpos DNSSummaryDNSSECParamsQueryType = "GPOS"` - `const DNSSummaryDNSSECParamsQueryTypeGid DNSSummaryDNSSECParamsQueryType = "GID"` - `const DNSSummaryDNSSECParamsQueryTypeHinfo DNSSummaryDNSSECParamsQueryType = "HINFO"` - `const DNSSummaryDNSSECParamsQueryTypeHip DNSSummaryDNSSECParamsQueryType = "HIP"` - `const DNSSummaryDNSSECParamsQueryTypeHTTPS DNSSummaryDNSSECParamsQueryType = "HTTPS"` - `const DNSSummaryDNSSECParamsQueryTypeIpseckey DNSSummaryDNSSECParamsQueryType = "IPSECKEY"` - `const DNSSummaryDNSSECParamsQueryTypeIsdn DNSSummaryDNSSECParamsQueryType = "ISDN"` - `const DNSSummaryDNSSECParamsQueryTypeIxfr DNSSummaryDNSSECParamsQueryType = "IXFR"` - `const DNSSummaryDNSSECParamsQueryTypeKey DNSSummaryDNSSECParamsQueryType = "KEY"` - `const DNSSummaryDNSSECParamsQueryTypeKx DNSSummaryDNSSECParamsQueryType = "KX"` - `const DNSSummaryDNSSECParamsQueryTypeL32 DNSSummaryDNSSECParamsQueryType = "L32"` - `const DNSSummaryDNSSECParamsQueryTypeL64 DNSSummaryDNSSECParamsQueryType = "L64"` - `const DNSSummaryDNSSECParamsQueryTypeLOC DNSSummaryDNSSECParamsQueryType = "LOC"` - `const DNSSummaryDNSSECParamsQueryTypeLp DNSSummaryDNSSECParamsQueryType = "LP"` - `const DNSSummaryDNSSECParamsQueryTypeMaila DNSSummaryDNSSECParamsQueryType = "MAILA"` - `const DNSSummaryDNSSECParamsQueryTypeMailb DNSSummaryDNSSECParamsQueryType = "MAILB"` - `const DNSSummaryDNSSECParamsQueryTypeMB DNSSummaryDNSSECParamsQueryType = "MB"` - `const DNSSummaryDNSSECParamsQueryTypeMd DNSSummaryDNSSECParamsQueryType = "MD"` - `const DNSSummaryDNSSECParamsQueryTypeMf DNSSummaryDNSSECParamsQueryType = "MF"` - `const DNSSummaryDNSSECParamsQueryTypeMg DNSSummaryDNSSECParamsQueryType = "MG"` - `const DNSSummaryDNSSECParamsQueryTypeMinfo DNSSummaryDNSSECParamsQueryType = "MINFO"` - `const DNSSummaryDNSSECParamsQueryTypeMr DNSSummaryDNSSECParamsQueryType = "MR"` - `const DNSSummaryDNSSECParamsQueryTypeMX DNSSummaryDNSSECParamsQueryType = "MX"` - `const DNSSummaryDNSSECParamsQueryTypeNAPTR DNSSummaryDNSSECParamsQueryType = "NAPTR"` - `const DNSSummaryDNSSECParamsQueryTypeNb DNSSummaryDNSSECParamsQueryType = "NB"` - `const DNSSummaryDNSSECParamsQueryTypeNbstat DNSSummaryDNSSECParamsQueryType = "NBSTAT"` - `const DNSSummaryDNSSECParamsQueryTypeNid DNSSummaryDNSSECParamsQueryType = "NID"` - `const DNSSummaryDNSSECParamsQueryTypeNimloc DNSSummaryDNSSECParamsQueryType = "NIMLOC"` - `const DNSSummaryDNSSECParamsQueryTypeNinfo DNSSummaryDNSSECParamsQueryType = "NINFO"` - `const DNSSummaryDNSSECParamsQueryTypeNS DNSSummaryDNSSECParamsQueryType = "NS"` - `const DNSSummaryDNSSECParamsQueryTypeNsap DNSSummaryDNSSECParamsQueryType = "NSAP"` - `const DNSSummaryDNSSECParamsQueryTypeNsec DNSSummaryDNSSECParamsQueryType = "NSEC"` - `const DNSSummaryDNSSECParamsQueryTypeNsec3 DNSSummaryDNSSECParamsQueryType = "NSEC3"` - `const DNSSummaryDNSSECParamsQueryTypeNsec3Param DNSSummaryDNSSECParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryDNSSECParamsQueryTypeNull DNSSummaryDNSSECParamsQueryType = "NULL"` - `const DNSSummaryDNSSECParamsQueryTypeNxt DNSSummaryDNSSECParamsQueryType = "NXT"` - `const DNSSummaryDNSSECParamsQueryTypeOpenpgpkey DNSSummaryDNSSECParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryDNSSECParamsQueryTypeOpt DNSSummaryDNSSECParamsQueryType = "OPT"` - `const DNSSummaryDNSSECParamsQueryTypePTR DNSSummaryDNSSECParamsQueryType = "PTR"` - `const DNSSummaryDNSSECParamsQueryTypePx DNSSummaryDNSSECParamsQueryType = "PX"` - `const DNSSummaryDNSSECParamsQueryTypeRkey DNSSummaryDNSSECParamsQueryType = "RKEY"` - `const DNSSummaryDNSSECParamsQueryTypeRp DNSSummaryDNSSECParamsQueryType = "RP"` - `const DNSSummaryDNSSECParamsQueryTypeRrsig DNSSummaryDNSSECParamsQueryType = "RRSIG"` - `const DNSSummaryDNSSECParamsQueryTypeRt DNSSummaryDNSSECParamsQueryType = "RT"` - `const DNSSummaryDNSSECParamsQueryTypeSig DNSSummaryDNSSECParamsQueryType = "SIG"` - `const DNSSummaryDNSSECParamsQueryTypeSink DNSSummaryDNSSECParamsQueryType = "SINK"` - `const DNSSummaryDNSSECParamsQueryTypeSMIMEA DNSSummaryDNSSECParamsQueryType = "SMIMEA"` - `const DNSSummaryDNSSECParamsQueryTypeSOA DNSSummaryDNSSECParamsQueryType = "SOA"` - `const DNSSummaryDNSSECParamsQueryTypeSPF DNSSummaryDNSSECParamsQueryType = "SPF"` - `const DNSSummaryDNSSECParamsQueryTypeSRV DNSSummaryDNSSECParamsQueryType = "SRV"` - `const DNSSummaryDNSSECParamsQueryTypeSSHFP DNSSummaryDNSSECParamsQueryType = "SSHFP"` - `const DNSSummaryDNSSECParamsQueryTypeSVCB DNSSummaryDNSSECParamsQueryType = "SVCB"` - `const DNSSummaryDNSSECParamsQueryTypeTa DNSSummaryDNSSECParamsQueryType = "TA"` - `const DNSSummaryDNSSECParamsQueryTypeTalink DNSSummaryDNSSECParamsQueryType = "TALINK"` - `const DNSSummaryDNSSECParamsQueryTypeTkey DNSSummaryDNSSECParamsQueryType = "TKEY"` - `const DNSSummaryDNSSECParamsQueryTypeTLSA DNSSummaryDNSSECParamsQueryType = "TLSA"` - `const DNSSummaryDNSSECParamsQueryTypeTSIG DNSSummaryDNSSECParamsQueryType = "TSIG"` - `const DNSSummaryDNSSECParamsQueryTypeTXT DNSSummaryDNSSECParamsQueryType = "TXT"` - `const DNSSummaryDNSSECParamsQueryTypeUinfo DNSSummaryDNSSECParamsQueryType = "UINFO"` - `const DNSSummaryDNSSECParamsQueryTypeUID DNSSummaryDNSSECParamsQueryType = "UID"` - `const DNSSummaryDNSSECParamsQueryTypeUnspec DNSSummaryDNSSECParamsQueryType = "UNSPEC"` - `const DNSSummaryDNSSECParamsQueryTypeURI DNSSummaryDNSSECParamsQueryType = "URI"` - `const DNSSummaryDNSSECParamsQueryTypeWks DNSSummaryDNSSECParamsQueryType = "WKS"` - `const DNSSummaryDNSSECParamsQueryTypeX25 DNSSummaryDNSSECParamsQueryType = "X25"` - `const DNSSummaryDNSSECParamsQueryTypeZonemd DNSSummaryDNSSECParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryDNSSECParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryDNSSECParamsResponseCodeNoerror DNSSummaryDNSSECParamsResponseCode = "NOERROR"` - `const DNSSummaryDNSSECParamsResponseCodeFormerr DNSSummaryDNSSECParamsResponseCode = "FORMERR"` - `const DNSSummaryDNSSECParamsResponseCodeServfail DNSSummaryDNSSECParamsResponseCode = "SERVFAIL"` - `const DNSSummaryDNSSECParamsResponseCodeNxdomain DNSSummaryDNSSECParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryDNSSECParamsResponseCodeNotimp DNSSummaryDNSSECParamsResponseCode = "NOTIMP"` - `const DNSSummaryDNSSECParamsResponseCodeRefused DNSSummaryDNSSECParamsResponseCode = "REFUSED"` - `const DNSSummaryDNSSECParamsResponseCodeYxdomain DNSSummaryDNSSECParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryDNSSECParamsResponseCodeYxrrset DNSSummaryDNSSECParamsResponseCode = "YXRRSET"` - `const DNSSummaryDNSSECParamsResponseCodeNxrrset DNSSummaryDNSSECParamsResponseCode = "NXRRSET"` - `const DNSSummaryDNSSECParamsResponseCodeNotauth DNSSummaryDNSSECParamsResponseCode = "NOTAUTH"` - `const DNSSummaryDNSSECParamsResponseCodeNotzone DNSSummaryDNSSECParamsResponseCode = "NOTZONE"` - `const DNSSummaryDNSSECParamsResponseCodeBadsig DNSSummaryDNSSECParamsResponseCode = "BADSIG"` - `const DNSSummaryDNSSECParamsResponseCodeBadkey DNSSummaryDNSSECParamsResponseCode = "BADKEY"` - `const DNSSummaryDNSSECParamsResponseCodeBadtime DNSSummaryDNSSECParamsResponseCode = "BADTIME"` - `const DNSSummaryDNSSECParamsResponseCodeBadmode DNSSummaryDNSSECParamsResponseCode = "BADMODE"` - `const DNSSummaryDNSSECParamsResponseCodeBadname DNSSummaryDNSSECParamsResponseCode = "BADNAME"` - `const DNSSummaryDNSSECParamsResponseCodeBadalg DNSSummaryDNSSECParamsResponseCode = "BADALG"` - `const DNSSummaryDNSSECParamsResponseCodeBadtrunc DNSSummaryDNSSECParamsResponseCode = "BADTRUNC"` - `const DNSSummaryDNSSECParamsResponseCodeBadcookie DNSSummaryDNSSECParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryDNSSECResponse struct{…}` - `Meta DNSSummaryDNSSECResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryDNSSECResponseMetaConfidenceInfo` - `Annotations []DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryDNSSECResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryDNSSECResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryDNSSECResponseMetaNormalizationPercentage DNSSummaryDNSSECResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryDNSSECResponseMetaNormalizationMin0Max DNSSummaryDNSSECResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryDNSSECResponseMetaNormalizationMinMax DNSSummaryDNSSECResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryDNSSECResponseMetaNormalizationRawValues DNSSummaryDNSSECResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryDNSSECResponseMetaNormalizationPercentageChange DNSSummaryDNSSECResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryDNSSECResponseMetaNormalizationRollingAverage DNSSummaryDNSSECResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryDNSSECResponseMetaNormalizationOverlappedPercentage DNSSummaryDNSSECResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryDNSSECResponseMetaNormalizationRatio DNSSummaryDNSSECResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryDNSSECResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryDNSSECResponseSummary0` - `Insecure string` A numeric string. - `Invalid string` A numeric string. - `Other string` A numeric string. - `Secure string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.DNSSEC(context.TODO(), radar.DNSSummaryDNSSECParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.DNSSECAware(ctx, query) (*DNSSummaryDNSSECAwareResponse, error)` **get** `/radar/dns/summary/dnssec_aware` Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness. ### Parameters - `query DNSSummaryDNSSECAwareParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryDNSSECAwareParamsFormat]` Format in which results will be returned. - `const DNSSummaryDNSSECAwareParamsFormatJson DNSSummaryDNSSECAwareParamsFormat = "JSON"` - `const DNSSummaryDNSSECAwareParamsFormatCsv DNSSummaryDNSSECAwareParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryDNSSECAwareParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryDNSSECAwareParamsProtocolUdp DNSSummaryDNSSECAwareParamsProtocol = "UDP"` - `const DNSSummaryDNSSECAwareParamsProtocolTCP DNSSummaryDNSSECAwareParamsProtocol = "TCP"` - `const DNSSummaryDNSSECAwareParamsProtocolHTTPS DNSSummaryDNSSECAwareParamsProtocol = "HTTPS"` - `const DNSSummaryDNSSECAwareParamsProtocolTLS DNSSummaryDNSSECAwareParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryDNSSECAwareParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryDNSSECAwareParamsQueryTypeA DNSSummaryDNSSECAwareParamsQueryType = "A"` - `const DNSSummaryDNSSECAwareParamsQueryTypeAAAA DNSSummaryDNSSECAwareParamsQueryType = "AAAA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeA6 DNSSummaryDNSSECAwareParamsQueryType = "A6"` - `const DNSSummaryDNSSECAwareParamsQueryTypeAfsdb DNSSummaryDNSSECAwareParamsQueryType = "AFSDB"` - `const DNSSummaryDNSSECAwareParamsQueryTypeAny DNSSummaryDNSSECAwareParamsQueryType = "ANY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeApl DNSSummaryDNSSECAwareParamsQueryType = "APL"` - `const DNSSummaryDNSSECAwareParamsQueryTypeAtma DNSSummaryDNSSECAwareParamsQueryType = "ATMA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeAXFR DNSSummaryDNSSECAwareParamsQueryType = "AXFR"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCAA DNSSummaryDNSSECAwareParamsQueryType = "CAA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCdnskey DNSSummaryDNSSECAwareParamsQueryType = "CDNSKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCds DNSSummaryDNSSECAwareParamsQueryType = "CDS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCERT DNSSummaryDNSSECAwareParamsQueryType = "CERT"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCNAME DNSSummaryDNSSECAwareParamsQueryType = "CNAME"` - `const DNSSummaryDNSSECAwareParamsQueryTypeCsync DNSSummaryDNSSECAwareParamsQueryType = "CSYNC"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDhcid DNSSummaryDNSSECAwareParamsQueryType = "DHCID"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDlv DNSSummaryDNSSECAwareParamsQueryType = "DLV"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDname DNSSummaryDNSSECAwareParamsQueryType = "DNAME"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDNSKEY DNSSummaryDNSSECAwareParamsQueryType = "DNSKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDoa DNSSummaryDNSSECAwareParamsQueryType = "DOA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeDS DNSSummaryDNSSECAwareParamsQueryType = "DS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeEid DNSSummaryDNSSECAwareParamsQueryType = "EID"` - `const DNSSummaryDNSSECAwareParamsQueryTypeEui48 DNSSummaryDNSSECAwareParamsQueryType = "EUI48"` - `const DNSSummaryDNSSECAwareParamsQueryTypeEui64 DNSSummaryDNSSECAwareParamsQueryType = "EUI64"` - `const DNSSummaryDNSSECAwareParamsQueryTypeGpos DNSSummaryDNSSECAwareParamsQueryType = "GPOS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeGid DNSSummaryDNSSECAwareParamsQueryType = "GID"` - `const DNSSummaryDNSSECAwareParamsQueryTypeHinfo DNSSummaryDNSSECAwareParamsQueryType = "HINFO"` - `const DNSSummaryDNSSECAwareParamsQueryTypeHip DNSSummaryDNSSECAwareParamsQueryType = "HIP"` - `const DNSSummaryDNSSECAwareParamsQueryTypeHTTPS DNSSummaryDNSSECAwareParamsQueryType = "HTTPS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeIpseckey DNSSummaryDNSSECAwareParamsQueryType = "IPSECKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeIsdn DNSSummaryDNSSECAwareParamsQueryType = "ISDN"` - `const DNSSummaryDNSSECAwareParamsQueryTypeIxfr DNSSummaryDNSSECAwareParamsQueryType = "IXFR"` - `const DNSSummaryDNSSECAwareParamsQueryTypeKey DNSSummaryDNSSECAwareParamsQueryType = "KEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeKx DNSSummaryDNSSECAwareParamsQueryType = "KX"` - `const DNSSummaryDNSSECAwareParamsQueryTypeL32 DNSSummaryDNSSECAwareParamsQueryType = "L32"` - `const DNSSummaryDNSSECAwareParamsQueryTypeL64 DNSSummaryDNSSECAwareParamsQueryType = "L64"` - `const DNSSummaryDNSSECAwareParamsQueryTypeLOC DNSSummaryDNSSECAwareParamsQueryType = "LOC"` - `const DNSSummaryDNSSECAwareParamsQueryTypeLp DNSSummaryDNSSECAwareParamsQueryType = "LP"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMaila DNSSummaryDNSSECAwareParamsQueryType = "MAILA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMailb DNSSummaryDNSSECAwareParamsQueryType = "MAILB"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMB DNSSummaryDNSSECAwareParamsQueryType = "MB"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMd DNSSummaryDNSSECAwareParamsQueryType = "MD"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMf DNSSummaryDNSSECAwareParamsQueryType = "MF"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMg DNSSummaryDNSSECAwareParamsQueryType = "MG"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMinfo DNSSummaryDNSSECAwareParamsQueryType = "MINFO"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMr DNSSummaryDNSSECAwareParamsQueryType = "MR"` - `const DNSSummaryDNSSECAwareParamsQueryTypeMX DNSSummaryDNSSECAwareParamsQueryType = "MX"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNAPTR DNSSummaryDNSSECAwareParamsQueryType = "NAPTR"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNb DNSSummaryDNSSECAwareParamsQueryType = "NB"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNbstat DNSSummaryDNSSECAwareParamsQueryType = "NBSTAT"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNid DNSSummaryDNSSECAwareParamsQueryType = "NID"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNimloc DNSSummaryDNSSECAwareParamsQueryType = "NIMLOC"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNinfo DNSSummaryDNSSECAwareParamsQueryType = "NINFO"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNS DNSSummaryDNSSECAwareParamsQueryType = "NS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNsap DNSSummaryDNSSECAwareParamsQueryType = "NSAP"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNsec DNSSummaryDNSSECAwareParamsQueryType = "NSEC"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNsec3 DNSSummaryDNSSECAwareParamsQueryType = "NSEC3"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNsec3Param DNSSummaryDNSSECAwareParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNull DNSSummaryDNSSECAwareParamsQueryType = "NULL"` - `const DNSSummaryDNSSECAwareParamsQueryTypeNxt DNSSummaryDNSSECAwareParamsQueryType = "NXT"` - `const DNSSummaryDNSSECAwareParamsQueryTypeOpenpgpkey DNSSummaryDNSSECAwareParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeOpt DNSSummaryDNSSECAwareParamsQueryType = "OPT"` - `const DNSSummaryDNSSECAwareParamsQueryTypePTR DNSSummaryDNSSECAwareParamsQueryType = "PTR"` - `const DNSSummaryDNSSECAwareParamsQueryTypePx DNSSummaryDNSSECAwareParamsQueryType = "PX"` - `const DNSSummaryDNSSECAwareParamsQueryTypeRkey DNSSummaryDNSSECAwareParamsQueryType = "RKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeRp DNSSummaryDNSSECAwareParamsQueryType = "RP"` - `const DNSSummaryDNSSECAwareParamsQueryTypeRrsig DNSSummaryDNSSECAwareParamsQueryType = "RRSIG"` - `const DNSSummaryDNSSECAwareParamsQueryTypeRt DNSSummaryDNSSECAwareParamsQueryType = "RT"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSig DNSSummaryDNSSECAwareParamsQueryType = "SIG"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSink DNSSummaryDNSSECAwareParamsQueryType = "SINK"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSMIMEA DNSSummaryDNSSECAwareParamsQueryType = "SMIMEA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSOA DNSSummaryDNSSECAwareParamsQueryType = "SOA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSPF DNSSummaryDNSSECAwareParamsQueryType = "SPF"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSRV DNSSummaryDNSSECAwareParamsQueryType = "SRV"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSSHFP DNSSummaryDNSSECAwareParamsQueryType = "SSHFP"` - `const DNSSummaryDNSSECAwareParamsQueryTypeSVCB DNSSummaryDNSSECAwareParamsQueryType = "SVCB"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTa DNSSummaryDNSSECAwareParamsQueryType = "TA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTalink DNSSummaryDNSSECAwareParamsQueryType = "TALINK"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTkey DNSSummaryDNSSECAwareParamsQueryType = "TKEY"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTLSA DNSSummaryDNSSECAwareParamsQueryType = "TLSA"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTSIG DNSSummaryDNSSECAwareParamsQueryType = "TSIG"` - `const DNSSummaryDNSSECAwareParamsQueryTypeTXT DNSSummaryDNSSECAwareParamsQueryType = "TXT"` - `const DNSSummaryDNSSECAwareParamsQueryTypeUinfo DNSSummaryDNSSECAwareParamsQueryType = "UINFO"` - `const DNSSummaryDNSSECAwareParamsQueryTypeUID DNSSummaryDNSSECAwareParamsQueryType = "UID"` - `const DNSSummaryDNSSECAwareParamsQueryTypeUnspec DNSSummaryDNSSECAwareParamsQueryType = "UNSPEC"` - `const DNSSummaryDNSSECAwareParamsQueryTypeURI DNSSummaryDNSSECAwareParamsQueryType = "URI"` - `const DNSSummaryDNSSECAwareParamsQueryTypeWks DNSSummaryDNSSECAwareParamsQueryType = "WKS"` - `const DNSSummaryDNSSECAwareParamsQueryTypeX25 DNSSummaryDNSSECAwareParamsQueryType = "X25"` - `const DNSSummaryDNSSECAwareParamsQueryTypeZonemd DNSSummaryDNSSECAwareParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryDNSSECAwareParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryDNSSECAwareParamsResponseCodeNoerror DNSSummaryDNSSECAwareParamsResponseCode = "NOERROR"` - `const DNSSummaryDNSSECAwareParamsResponseCodeFormerr DNSSummaryDNSSECAwareParamsResponseCode = "FORMERR"` - `const DNSSummaryDNSSECAwareParamsResponseCodeServfail DNSSummaryDNSSECAwareParamsResponseCode = "SERVFAIL"` - `const DNSSummaryDNSSECAwareParamsResponseCodeNxdomain DNSSummaryDNSSECAwareParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryDNSSECAwareParamsResponseCodeNotimp DNSSummaryDNSSECAwareParamsResponseCode = "NOTIMP"` - `const DNSSummaryDNSSECAwareParamsResponseCodeRefused DNSSummaryDNSSECAwareParamsResponseCode = "REFUSED"` - `const DNSSummaryDNSSECAwareParamsResponseCodeYxdomain DNSSummaryDNSSECAwareParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryDNSSECAwareParamsResponseCodeYxrrset DNSSummaryDNSSECAwareParamsResponseCode = "YXRRSET"` - `const DNSSummaryDNSSECAwareParamsResponseCodeNxrrset DNSSummaryDNSSECAwareParamsResponseCode = "NXRRSET"` - `const DNSSummaryDNSSECAwareParamsResponseCodeNotauth DNSSummaryDNSSECAwareParamsResponseCode = "NOTAUTH"` - `const DNSSummaryDNSSECAwareParamsResponseCodeNotzone DNSSummaryDNSSECAwareParamsResponseCode = "NOTZONE"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadsig DNSSummaryDNSSECAwareParamsResponseCode = "BADSIG"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadkey DNSSummaryDNSSECAwareParamsResponseCode = "BADKEY"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadtime DNSSummaryDNSSECAwareParamsResponseCode = "BADTIME"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadmode DNSSummaryDNSSECAwareParamsResponseCode = "BADMODE"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadname DNSSummaryDNSSECAwareParamsResponseCode = "BADNAME"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadalg DNSSummaryDNSSECAwareParamsResponseCode = "BADALG"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadtrunc DNSSummaryDNSSECAwareParamsResponseCode = "BADTRUNC"` - `const DNSSummaryDNSSECAwareParamsResponseCodeBadcookie DNSSummaryDNSSECAwareParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryDNSSECAwareResponse struct{…}` - `Meta DNSSummaryDNSSECAwareResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryDNSSECAwareResponseMetaConfidenceInfo` - `Annotations []DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryDNSSECAwareResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryDNSSECAwareResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryDNSSECAwareResponseMetaNormalizationPercentage DNSSummaryDNSSECAwareResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationMin0Max DNSSummaryDNSSECAwareResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationMinMax DNSSummaryDNSSECAwareResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationRawValues DNSSummaryDNSSECAwareResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationPercentageChange DNSSummaryDNSSECAwareResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationRollingAverage DNSSummaryDNSSECAwareResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationOverlappedPercentage DNSSummaryDNSSECAwareResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryDNSSECAwareResponseMetaNormalizationRatio DNSSummaryDNSSECAwareResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryDNSSECAwareResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryDNSSECAwareResponseSummary0` - `NotSupported string` A numeric string. - `Supported string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.DNSSECAware(context.TODO(), radar.DNSSummaryDNSSECAwareParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.DNSSECE2E(ctx, query) (*DNSSummaryDnssece2EResponse, error)` **get** `/radar/dns/summary/dnssec_e2e` Retrieves the distribution of DNSSEC-validated answers by end-to-end security status. ### Parameters - `query DNSSummaryDNSSECE2EParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryDnssece2EParamsFormat]` Format in which results will be returned. - `const DNSSummaryDnssece2EParamsFormatJson DNSSummaryDnssece2EParamsFormat = "JSON"` - `const DNSSummaryDnssece2EParamsFormatCsv DNSSummaryDnssece2EParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryDnssece2EParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryDnssece2EParamsProtocolUdp DNSSummaryDnssece2EParamsProtocol = "UDP"` - `const DNSSummaryDnssece2EParamsProtocolTCP DNSSummaryDnssece2EParamsProtocol = "TCP"` - `const DNSSummaryDnssece2EParamsProtocolHTTPS DNSSummaryDnssece2EParamsProtocol = "HTTPS"` - `const DNSSummaryDnssece2EParamsProtocolTLS DNSSummaryDnssece2EParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryDnssece2EParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryDnssece2EParamsQueryTypeA DNSSummaryDnssece2EParamsQueryType = "A"` - `const DNSSummaryDnssece2EParamsQueryTypeAAAA DNSSummaryDnssece2EParamsQueryType = "AAAA"` - `const DNSSummaryDnssece2EParamsQueryTypeA6 DNSSummaryDnssece2EParamsQueryType = "A6"` - `const DNSSummaryDnssece2EParamsQueryTypeAfsdb DNSSummaryDnssece2EParamsQueryType = "AFSDB"` - `const DNSSummaryDnssece2EParamsQueryTypeAny DNSSummaryDnssece2EParamsQueryType = "ANY"` - `const DNSSummaryDnssece2EParamsQueryTypeApl DNSSummaryDnssece2EParamsQueryType = "APL"` - `const DNSSummaryDnssece2EParamsQueryTypeAtma DNSSummaryDnssece2EParamsQueryType = "ATMA"` - `const DNSSummaryDnssece2EParamsQueryTypeAXFR DNSSummaryDnssece2EParamsQueryType = "AXFR"` - `const DNSSummaryDnssece2EParamsQueryTypeCAA DNSSummaryDnssece2EParamsQueryType = "CAA"` - `const DNSSummaryDnssece2EParamsQueryTypeCdnskey DNSSummaryDnssece2EParamsQueryType = "CDNSKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeCds DNSSummaryDnssece2EParamsQueryType = "CDS"` - `const DNSSummaryDnssece2EParamsQueryTypeCERT DNSSummaryDnssece2EParamsQueryType = "CERT"` - `const DNSSummaryDnssece2EParamsQueryTypeCNAME DNSSummaryDnssece2EParamsQueryType = "CNAME"` - `const DNSSummaryDnssece2EParamsQueryTypeCsync DNSSummaryDnssece2EParamsQueryType = "CSYNC"` - `const DNSSummaryDnssece2EParamsQueryTypeDhcid DNSSummaryDnssece2EParamsQueryType = "DHCID"` - `const DNSSummaryDnssece2EParamsQueryTypeDlv DNSSummaryDnssece2EParamsQueryType = "DLV"` - `const DNSSummaryDnssece2EParamsQueryTypeDname DNSSummaryDnssece2EParamsQueryType = "DNAME"` - `const DNSSummaryDnssece2EParamsQueryTypeDNSKEY DNSSummaryDnssece2EParamsQueryType = "DNSKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeDoa DNSSummaryDnssece2EParamsQueryType = "DOA"` - `const DNSSummaryDnssece2EParamsQueryTypeDS DNSSummaryDnssece2EParamsQueryType = "DS"` - `const DNSSummaryDnssece2EParamsQueryTypeEid DNSSummaryDnssece2EParamsQueryType = "EID"` - `const DNSSummaryDnssece2EParamsQueryTypeEui48 DNSSummaryDnssece2EParamsQueryType = "EUI48"` - `const DNSSummaryDnssece2EParamsQueryTypeEui64 DNSSummaryDnssece2EParamsQueryType = "EUI64"` - `const DNSSummaryDnssece2EParamsQueryTypeGpos DNSSummaryDnssece2EParamsQueryType = "GPOS"` - `const DNSSummaryDnssece2EParamsQueryTypeGid DNSSummaryDnssece2EParamsQueryType = "GID"` - `const DNSSummaryDnssece2EParamsQueryTypeHinfo DNSSummaryDnssece2EParamsQueryType = "HINFO"` - `const DNSSummaryDnssece2EParamsQueryTypeHip DNSSummaryDnssece2EParamsQueryType = "HIP"` - `const DNSSummaryDnssece2EParamsQueryTypeHTTPS DNSSummaryDnssece2EParamsQueryType = "HTTPS"` - `const DNSSummaryDnssece2EParamsQueryTypeIpseckey DNSSummaryDnssece2EParamsQueryType = "IPSECKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeIsdn DNSSummaryDnssece2EParamsQueryType = "ISDN"` - `const DNSSummaryDnssece2EParamsQueryTypeIxfr DNSSummaryDnssece2EParamsQueryType = "IXFR"` - `const DNSSummaryDnssece2EParamsQueryTypeKey DNSSummaryDnssece2EParamsQueryType = "KEY"` - `const DNSSummaryDnssece2EParamsQueryTypeKx DNSSummaryDnssece2EParamsQueryType = "KX"` - `const DNSSummaryDnssece2EParamsQueryTypeL32 DNSSummaryDnssece2EParamsQueryType = "L32"` - `const DNSSummaryDnssece2EParamsQueryTypeL64 DNSSummaryDnssece2EParamsQueryType = "L64"` - `const DNSSummaryDnssece2EParamsQueryTypeLOC DNSSummaryDnssece2EParamsQueryType = "LOC"` - `const DNSSummaryDnssece2EParamsQueryTypeLp DNSSummaryDnssece2EParamsQueryType = "LP"` - `const DNSSummaryDnssece2EParamsQueryTypeMaila DNSSummaryDnssece2EParamsQueryType = "MAILA"` - `const DNSSummaryDnssece2EParamsQueryTypeMailb DNSSummaryDnssece2EParamsQueryType = "MAILB"` - `const DNSSummaryDnssece2EParamsQueryTypeMB DNSSummaryDnssece2EParamsQueryType = "MB"` - `const DNSSummaryDnssece2EParamsQueryTypeMd DNSSummaryDnssece2EParamsQueryType = "MD"` - `const DNSSummaryDnssece2EParamsQueryTypeMf DNSSummaryDnssece2EParamsQueryType = "MF"` - `const DNSSummaryDnssece2EParamsQueryTypeMg DNSSummaryDnssece2EParamsQueryType = "MG"` - `const DNSSummaryDnssece2EParamsQueryTypeMinfo DNSSummaryDnssece2EParamsQueryType = "MINFO"` - `const DNSSummaryDnssece2EParamsQueryTypeMr DNSSummaryDnssece2EParamsQueryType = "MR"` - `const DNSSummaryDnssece2EParamsQueryTypeMX DNSSummaryDnssece2EParamsQueryType = "MX"` - `const DNSSummaryDnssece2EParamsQueryTypeNAPTR DNSSummaryDnssece2EParamsQueryType = "NAPTR"` - `const DNSSummaryDnssece2EParamsQueryTypeNb DNSSummaryDnssece2EParamsQueryType = "NB"` - `const DNSSummaryDnssece2EParamsQueryTypeNbstat DNSSummaryDnssece2EParamsQueryType = "NBSTAT"` - `const DNSSummaryDnssece2EParamsQueryTypeNid DNSSummaryDnssece2EParamsQueryType = "NID"` - `const DNSSummaryDnssece2EParamsQueryTypeNimloc DNSSummaryDnssece2EParamsQueryType = "NIMLOC"` - `const DNSSummaryDnssece2EParamsQueryTypeNinfo DNSSummaryDnssece2EParamsQueryType = "NINFO"` - `const DNSSummaryDnssece2EParamsQueryTypeNS DNSSummaryDnssece2EParamsQueryType = "NS"` - `const DNSSummaryDnssece2EParamsQueryTypeNsap DNSSummaryDnssece2EParamsQueryType = "NSAP"` - `const DNSSummaryDnssece2EParamsQueryTypeNsec DNSSummaryDnssece2EParamsQueryType = "NSEC"` - `const DNSSummaryDnssece2EParamsQueryTypeNsec3 DNSSummaryDnssece2EParamsQueryType = "NSEC3"` - `const DNSSummaryDnssece2EParamsQueryTypeNsec3Param DNSSummaryDnssece2EParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryDnssece2EParamsQueryTypeNull DNSSummaryDnssece2EParamsQueryType = "NULL"` - `const DNSSummaryDnssece2EParamsQueryTypeNxt DNSSummaryDnssece2EParamsQueryType = "NXT"` - `const DNSSummaryDnssece2EParamsQueryTypeOpenpgpkey DNSSummaryDnssece2EParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeOpt DNSSummaryDnssece2EParamsQueryType = "OPT"` - `const DNSSummaryDnssece2EParamsQueryTypePTR DNSSummaryDnssece2EParamsQueryType = "PTR"` - `const DNSSummaryDnssece2EParamsQueryTypePx DNSSummaryDnssece2EParamsQueryType = "PX"` - `const DNSSummaryDnssece2EParamsQueryTypeRkey DNSSummaryDnssece2EParamsQueryType = "RKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeRp DNSSummaryDnssece2EParamsQueryType = "RP"` - `const DNSSummaryDnssece2EParamsQueryTypeRrsig DNSSummaryDnssece2EParamsQueryType = "RRSIG"` - `const DNSSummaryDnssece2EParamsQueryTypeRt DNSSummaryDnssece2EParamsQueryType = "RT"` - `const DNSSummaryDnssece2EParamsQueryTypeSig DNSSummaryDnssece2EParamsQueryType = "SIG"` - `const DNSSummaryDnssece2EParamsQueryTypeSink DNSSummaryDnssece2EParamsQueryType = "SINK"` - `const DNSSummaryDnssece2EParamsQueryTypeSMIMEA DNSSummaryDnssece2EParamsQueryType = "SMIMEA"` - `const DNSSummaryDnssece2EParamsQueryTypeSOA DNSSummaryDnssece2EParamsQueryType = "SOA"` - `const DNSSummaryDnssece2EParamsQueryTypeSPF DNSSummaryDnssece2EParamsQueryType = "SPF"` - `const DNSSummaryDnssece2EParamsQueryTypeSRV DNSSummaryDnssece2EParamsQueryType = "SRV"` - `const DNSSummaryDnssece2EParamsQueryTypeSSHFP DNSSummaryDnssece2EParamsQueryType = "SSHFP"` - `const DNSSummaryDnssece2EParamsQueryTypeSVCB DNSSummaryDnssece2EParamsQueryType = "SVCB"` - `const DNSSummaryDnssece2EParamsQueryTypeTa DNSSummaryDnssece2EParamsQueryType = "TA"` - `const DNSSummaryDnssece2EParamsQueryTypeTalink DNSSummaryDnssece2EParamsQueryType = "TALINK"` - `const DNSSummaryDnssece2EParamsQueryTypeTkey DNSSummaryDnssece2EParamsQueryType = "TKEY"` - `const DNSSummaryDnssece2EParamsQueryTypeTLSA DNSSummaryDnssece2EParamsQueryType = "TLSA"` - `const DNSSummaryDnssece2EParamsQueryTypeTSIG DNSSummaryDnssece2EParamsQueryType = "TSIG"` - `const DNSSummaryDnssece2EParamsQueryTypeTXT DNSSummaryDnssece2EParamsQueryType = "TXT"` - `const DNSSummaryDnssece2EParamsQueryTypeUinfo DNSSummaryDnssece2EParamsQueryType = "UINFO"` - `const DNSSummaryDnssece2EParamsQueryTypeUID DNSSummaryDnssece2EParamsQueryType = "UID"` - `const DNSSummaryDnssece2EParamsQueryTypeUnspec DNSSummaryDnssece2EParamsQueryType = "UNSPEC"` - `const DNSSummaryDnssece2EParamsQueryTypeURI DNSSummaryDnssece2EParamsQueryType = "URI"` - `const DNSSummaryDnssece2EParamsQueryTypeWks DNSSummaryDnssece2EParamsQueryType = "WKS"` - `const DNSSummaryDnssece2EParamsQueryTypeX25 DNSSummaryDnssece2EParamsQueryType = "X25"` - `const DNSSummaryDnssece2EParamsQueryTypeZonemd DNSSummaryDnssece2EParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryDnssece2EParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryDnssece2EParamsResponseCodeNoerror DNSSummaryDnssece2EParamsResponseCode = "NOERROR"` - `const DNSSummaryDnssece2EParamsResponseCodeFormerr DNSSummaryDnssece2EParamsResponseCode = "FORMERR"` - `const DNSSummaryDnssece2EParamsResponseCodeServfail DNSSummaryDnssece2EParamsResponseCode = "SERVFAIL"` - `const DNSSummaryDnssece2EParamsResponseCodeNxdomain DNSSummaryDnssece2EParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryDnssece2EParamsResponseCodeNotimp DNSSummaryDnssece2EParamsResponseCode = "NOTIMP"` - `const DNSSummaryDnssece2EParamsResponseCodeRefused DNSSummaryDnssece2EParamsResponseCode = "REFUSED"` - `const DNSSummaryDnssece2EParamsResponseCodeYxdomain DNSSummaryDnssece2EParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryDnssece2EParamsResponseCodeYxrrset DNSSummaryDnssece2EParamsResponseCode = "YXRRSET"` - `const DNSSummaryDnssece2EParamsResponseCodeNxrrset DNSSummaryDnssece2EParamsResponseCode = "NXRRSET"` - `const DNSSummaryDnssece2EParamsResponseCodeNotauth DNSSummaryDnssece2EParamsResponseCode = "NOTAUTH"` - `const DNSSummaryDnssece2EParamsResponseCodeNotzone DNSSummaryDnssece2EParamsResponseCode = "NOTZONE"` - `const DNSSummaryDnssece2EParamsResponseCodeBadsig DNSSummaryDnssece2EParamsResponseCode = "BADSIG"` - `const DNSSummaryDnssece2EParamsResponseCodeBadkey DNSSummaryDnssece2EParamsResponseCode = "BADKEY"` - `const DNSSummaryDnssece2EParamsResponseCodeBadtime DNSSummaryDnssece2EParamsResponseCode = "BADTIME"` - `const DNSSummaryDnssece2EParamsResponseCodeBadmode DNSSummaryDnssece2EParamsResponseCode = "BADMODE"` - `const DNSSummaryDnssece2EParamsResponseCodeBadname DNSSummaryDnssece2EParamsResponseCode = "BADNAME"` - `const DNSSummaryDnssece2EParamsResponseCodeBadalg DNSSummaryDnssece2EParamsResponseCode = "BADALG"` - `const DNSSummaryDnssece2EParamsResponseCodeBadtrunc DNSSummaryDnssece2EParamsResponseCode = "BADTRUNC"` - `const DNSSummaryDnssece2EParamsResponseCodeBadcookie DNSSummaryDnssece2EParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryDnssece2EResponse struct{…}` - `Meta DNSSummaryDnssece2EResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryDnssece2EResponseMetaConfidenceInfo` - `Annotations []DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryDnssece2EResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryDnssece2EResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryDnssece2EResponseMetaNormalizationPercentage DNSSummaryDnssece2EResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryDnssece2EResponseMetaNormalizationMin0Max DNSSummaryDnssece2EResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryDnssece2EResponseMetaNormalizationMinMax DNSSummaryDnssece2EResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryDnssece2EResponseMetaNormalizationRawValues DNSSummaryDnssece2EResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryDnssece2EResponseMetaNormalizationPercentageChange DNSSummaryDnssece2EResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryDnssece2EResponseMetaNormalizationRollingAverage DNSSummaryDnssece2EResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryDnssece2EResponseMetaNormalizationOverlappedPercentage DNSSummaryDnssece2EResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryDnssece2EResponseMetaNormalizationRatio DNSSummaryDnssece2EResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryDnssece2EResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryDnssece2EResponseSummary0` - `Negative string` A numeric string. - `Positive string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.DNSSECE2E(context.TODO(), radar.DNSSummaryDNSSECE2EParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.IPVersion(ctx, query) (*DNSSummaryIPVersionResponse, error)` **get** `/radar/dns/summary/ip_version` Retrieves the distribution of DNS queries by IP version. ### Parameters - `query DNSSummaryIPVersionParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryIPVersionParamsFormat]` Format in which results will be returned. - `const DNSSummaryIPVersionParamsFormatJson DNSSummaryIPVersionParamsFormat = "JSON"` - `const DNSSummaryIPVersionParamsFormatCsv DNSSummaryIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryIPVersionParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryIPVersionParamsProtocolUdp DNSSummaryIPVersionParamsProtocol = "UDP"` - `const DNSSummaryIPVersionParamsProtocolTCP DNSSummaryIPVersionParamsProtocol = "TCP"` - `const DNSSummaryIPVersionParamsProtocolHTTPS DNSSummaryIPVersionParamsProtocol = "HTTPS"` - `const DNSSummaryIPVersionParamsProtocolTLS DNSSummaryIPVersionParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryIPVersionParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryIPVersionParamsQueryTypeA DNSSummaryIPVersionParamsQueryType = "A"` - `const DNSSummaryIPVersionParamsQueryTypeAAAA DNSSummaryIPVersionParamsQueryType = "AAAA"` - `const DNSSummaryIPVersionParamsQueryTypeA6 DNSSummaryIPVersionParamsQueryType = "A6"` - `const DNSSummaryIPVersionParamsQueryTypeAfsdb DNSSummaryIPVersionParamsQueryType = "AFSDB"` - `const DNSSummaryIPVersionParamsQueryTypeAny DNSSummaryIPVersionParamsQueryType = "ANY"` - `const DNSSummaryIPVersionParamsQueryTypeApl DNSSummaryIPVersionParamsQueryType = "APL"` - `const DNSSummaryIPVersionParamsQueryTypeAtma DNSSummaryIPVersionParamsQueryType = "ATMA"` - `const DNSSummaryIPVersionParamsQueryTypeAXFR DNSSummaryIPVersionParamsQueryType = "AXFR"` - `const DNSSummaryIPVersionParamsQueryTypeCAA DNSSummaryIPVersionParamsQueryType = "CAA"` - `const DNSSummaryIPVersionParamsQueryTypeCdnskey DNSSummaryIPVersionParamsQueryType = "CDNSKEY"` - `const DNSSummaryIPVersionParamsQueryTypeCds DNSSummaryIPVersionParamsQueryType = "CDS"` - `const DNSSummaryIPVersionParamsQueryTypeCERT DNSSummaryIPVersionParamsQueryType = "CERT"` - `const DNSSummaryIPVersionParamsQueryTypeCNAME DNSSummaryIPVersionParamsQueryType = "CNAME"` - `const DNSSummaryIPVersionParamsQueryTypeCsync DNSSummaryIPVersionParamsQueryType = "CSYNC"` - `const DNSSummaryIPVersionParamsQueryTypeDhcid DNSSummaryIPVersionParamsQueryType = "DHCID"` - `const DNSSummaryIPVersionParamsQueryTypeDlv DNSSummaryIPVersionParamsQueryType = "DLV"` - `const DNSSummaryIPVersionParamsQueryTypeDname DNSSummaryIPVersionParamsQueryType = "DNAME"` - `const DNSSummaryIPVersionParamsQueryTypeDNSKEY DNSSummaryIPVersionParamsQueryType = "DNSKEY"` - `const DNSSummaryIPVersionParamsQueryTypeDoa DNSSummaryIPVersionParamsQueryType = "DOA"` - `const DNSSummaryIPVersionParamsQueryTypeDS DNSSummaryIPVersionParamsQueryType = "DS"` - `const DNSSummaryIPVersionParamsQueryTypeEid DNSSummaryIPVersionParamsQueryType = "EID"` - `const DNSSummaryIPVersionParamsQueryTypeEui48 DNSSummaryIPVersionParamsQueryType = "EUI48"` - `const DNSSummaryIPVersionParamsQueryTypeEui64 DNSSummaryIPVersionParamsQueryType = "EUI64"` - `const DNSSummaryIPVersionParamsQueryTypeGpos DNSSummaryIPVersionParamsQueryType = "GPOS"` - `const DNSSummaryIPVersionParamsQueryTypeGid DNSSummaryIPVersionParamsQueryType = "GID"` - `const DNSSummaryIPVersionParamsQueryTypeHinfo DNSSummaryIPVersionParamsQueryType = "HINFO"` - `const DNSSummaryIPVersionParamsQueryTypeHip DNSSummaryIPVersionParamsQueryType = "HIP"` - `const DNSSummaryIPVersionParamsQueryTypeHTTPS DNSSummaryIPVersionParamsQueryType = "HTTPS"` - `const DNSSummaryIPVersionParamsQueryTypeIpseckey DNSSummaryIPVersionParamsQueryType = "IPSECKEY"` - `const DNSSummaryIPVersionParamsQueryTypeIsdn DNSSummaryIPVersionParamsQueryType = "ISDN"` - `const DNSSummaryIPVersionParamsQueryTypeIxfr DNSSummaryIPVersionParamsQueryType = "IXFR"` - `const DNSSummaryIPVersionParamsQueryTypeKey DNSSummaryIPVersionParamsQueryType = "KEY"` - `const DNSSummaryIPVersionParamsQueryTypeKx DNSSummaryIPVersionParamsQueryType = "KX"` - `const DNSSummaryIPVersionParamsQueryTypeL32 DNSSummaryIPVersionParamsQueryType = "L32"` - `const DNSSummaryIPVersionParamsQueryTypeL64 DNSSummaryIPVersionParamsQueryType = "L64"` - `const DNSSummaryIPVersionParamsQueryTypeLOC DNSSummaryIPVersionParamsQueryType = "LOC"` - `const DNSSummaryIPVersionParamsQueryTypeLp DNSSummaryIPVersionParamsQueryType = "LP"` - `const DNSSummaryIPVersionParamsQueryTypeMaila DNSSummaryIPVersionParamsQueryType = "MAILA"` - `const DNSSummaryIPVersionParamsQueryTypeMailb DNSSummaryIPVersionParamsQueryType = "MAILB"` - `const DNSSummaryIPVersionParamsQueryTypeMB DNSSummaryIPVersionParamsQueryType = "MB"` - `const DNSSummaryIPVersionParamsQueryTypeMd DNSSummaryIPVersionParamsQueryType = "MD"` - `const DNSSummaryIPVersionParamsQueryTypeMf DNSSummaryIPVersionParamsQueryType = "MF"` - `const DNSSummaryIPVersionParamsQueryTypeMg DNSSummaryIPVersionParamsQueryType = "MG"` - `const DNSSummaryIPVersionParamsQueryTypeMinfo DNSSummaryIPVersionParamsQueryType = "MINFO"` - `const DNSSummaryIPVersionParamsQueryTypeMr DNSSummaryIPVersionParamsQueryType = "MR"` - `const DNSSummaryIPVersionParamsQueryTypeMX DNSSummaryIPVersionParamsQueryType = "MX"` - `const DNSSummaryIPVersionParamsQueryTypeNAPTR DNSSummaryIPVersionParamsQueryType = "NAPTR"` - `const DNSSummaryIPVersionParamsQueryTypeNb DNSSummaryIPVersionParamsQueryType = "NB"` - `const DNSSummaryIPVersionParamsQueryTypeNbstat DNSSummaryIPVersionParamsQueryType = "NBSTAT"` - `const DNSSummaryIPVersionParamsQueryTypeNid DNSSummaryIPVersionParamsQueryType = "NID"` - `const DNSSummaryIPVersionParamsQueryTypeNimloc DNSSummaryIPVersionParamsQueryType = "NIMLOC"` - `const DNSSummaryIPVersionParamsQueryTypeNinfo DNSSummaryIPVersionParamsQueryType = "NINFO"` - `const DNSSummaryIPVersionParamsQueryTypeNS DNSSummaryIPVersionParamsQueryType = "NS"` - `const DNSSummaryIPVersionParamsQueryTypeNsap DNSSummaryIPVersionParamsQueryType = "NSAP"` - `const DNSSummaryIPVersionParamsQueryTypeNsec DNSSummaryIPVersionParamsQueryType = "NSEC"` - `const DNSSummaryIPVersionParamsQueryTypeNsec3 DNSSummaryIPVersionParamsQueryType = "NSEC3"` - `const DNSSummaryIPVersionParamsQueryTypeNsec3Param DNSSummaryIPVersionParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryIPVersionParamsQueryTypeNull DNSSummaryIPVersionParamsQueryType = "NULL"` - `const DNSSummaryIPVersionParamsQueryTypeNxt DNSSummaryIPVersionParamsQueryType = "NXT"` - `const DNSSummaryIPVersionParamsQueryTypeOpenpgpkey DNSSummaryIPVersionParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryIPVersionParamsQueryTypeOpt DNSSummaryIPVersionParamsQueryType = "OPT"` - `const DNSSummaryIPVersionParamsQueryTypePTR DNSSummaryIPVersionParamsQueryType = "PTR"` - `const DNSSummaryIPVersionParamsQueryTypePx DNSSummaryIPVersionParamsQueryType = "PX"` - `const DNSSummaryIPVersionParamsQueryTypeRkey DNSSummaryIPVersionParamsQueryType = "RKEY"` - `const DNSSummaryIPVersionParamsQueryTypeRp DNSSummaryIPVersionParamsQueryType = "RP"` - `const DNSSummaryIPVersionParamsQueryTypeRrsig DNSSummaryIPVersionParamsQueryType = "RRSIG"` - `const DNSSummaryIPVersionParamsQueryTypeRt DNSSummaryIPVersionParamsQueryType = "RT"` - `const DNSSummaryIPVersionParamsQueryTypeSig DNSSummaryIPVersionParamsQueryType = "SIG"` - `const DNSSummaryIPVersionParamsQueryTypeSink DNSSummaryIPVersionParamsQueryType = "SINK"` - `const DNSSummaryIPVersionParamsQueryTypeSMIMEA DNSSummaryIPVersionParamsQueryType = "SMIMEA"` - `const DNSSummaryIPVersionParamsQueryTypeSOA DNSSummaryIPVersionParamsQueryType = "SOA"` - `const DNSSummaryIPVersionParamsQueryTypeSPF DNSSummaryIPVersionParamsQueryType = "SPF"` - `const DNSSummaryIPVersionParamsQueryTypeSRV DNSSummaryIPVersionParamsQueryType = "SRV"` - `const DNSSummaryIPVersionParamsQueryTypeSSHFP DNSSummaryIPVersionParamsQueryType = "SSHFP"` - `const DNSSummaryIPVersionParamsQueryTypeSVCB DNSSummaryIPVersionParamsQueryType = "SVCB"` - `const DNSSummaryIPVersionParamsQueryTypeTa DNSSummaryIPVersionParamsQueryType = "TA"` - `const DNSSummaryIPVersionParamsQueryTypeTalink DNSSummaryIPVersionParamsQueryType = "TALINK"` - `const DNSSummaryIPVersionParamsQueryTypeTkey DNSSummaryIPVersionParamsQueryType = "TKEY"` - `const DNSSummaryIPVersionParamsQueryTypeTLSA DNSSummaryIPVersionParamsQueryType = "TLSA"` - `const DNSSummaryIPVersionParamsQueryTypeTSIG DNSSummaryIPVersionParamsQueryType = "TSIG"` - `const DNSSummaryIPVersionParamsQueryTypeTXT DNSSummaryIPVersionParamsQueryType = "TXT"` - `const DNSSummaryIPVersionParamsQueryTypeUinfo DNSSummaryIPVersionParamsQueryType = "UINFO"` - `const DNSSummaryIPVersionParamsQueryTypeUID DNSSummaryIPVersionParamsQueryType = "UID"` - `const DNSSummaryIPVersionParamsQueryTypeUnspec DNSSummaryIPVersionParamsQueryType = "UNSPEC"` - `const DNSSummaryIPVersionParamsQueryTypeURI DNSSummaryIPVersionParamsQueryType = "URI"` - `const DNSSummaryIPVersionParamsQueryTypeWks DNSSummaryIPVersionParamsQueryType = "WKS"` - `const DNSSummaryIPVersionParamsQueryTypeX25 DNSSummaryIPVersionParamsQueryType = "X25"` - `const DNSSummaryIPVersionParamsQueryTypeZonemd DNSSummaryIPVersionParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryIPVersionParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryIPVersionParamsResponseCodeNoerror DNSSummaryIPVersionParamsResponseCode = "NOERROR"` - `const DNSSummaryIPVersionParamsResponseCodeFormerr DNSSummaryIPVersionParamsResponseCode = "FORMERR"` - `const DNSSummaryIPVersionParamsResponseCodeServfail DNSSummaryIPVersionParamsResponseCode = "SERVFAIL"` - `const DNSSummaryIPVersionParamsResponseCodeNxdomain DNSSummaryIPVersionParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryIPVersionParamsResponseCodeNotimp DNSSummaryIPVersionParamsResponseCode = "NOTIMP"` - `const DNSSummaryIPVersionParamsResponseCodeRefused DNSSummaryIPVersionParamsResponseCode = "REFUSED"` - `const DNSSummaryIPVersionParamsResponseCodeYxdomain DNSSummaryIPVersionParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryIPVersionParamsResponseCodeYxrrset DNSSummaryIPVersionParamsResponseCode = "YXRRSET"` - `const DNSSummaryIPVersionParamsResponseCodeNxrrset DNSSummaryIPVersionParamsResponseCode = "NXRRSET"` - `const DNSSummaryIPVersionParamsResponseCodeNotauth DNSSummaryIPVersionParamsResponseCode = "NOTAUTH"` - `const DNSSummaryIPVersionParamsResponseCodeNotzone DNSSummaryIPVersionParamsResponseCode = "NOTZONE"` - `const DNSSummaryIPVersionParamsResponseCodeBadsig DNSSummaryIPVersionParamsResponseCode = "BADSIG"` - `const DNSSummaryIPVersionParamsResponseCodeBadkey DNSSummaryIPVersionParamsResponseCode = "BADKEY"` - `const DNSSummaryIPVersionParamsResponseCodeBadtime DNSSummaryIPVersionParamsResponseCode = "BADTIME"` - `const DNSSummaryIPVersionParamsResponseCodeBadmode DNSSummaryIPVersionParamsResponseCode = "BADMODE"` - `const DNSSummaryIPVersionParamsResponseCodeBadname DNSSummaryIPVersionParamsResponseCode = "BADNAME"` - `const DNSSummaryIPVersionParamsResponseCodeBadalg DNSSummaryIPVersionParamsResponseCode = "BADALG"` - `const DNSSummaryIPVersionParamsResponseCodeBadtrunc DNSSummaryIPVersionParamsResponseCode = "BADTRUNC"` - `const DNSSummaryIPVersionParamsResponseCodeBadcookie DNSSummaryIPVersionParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryIPVersionResponse struct{…}` - `Meta DNSSummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryIPVersionResponseMetaNormalizationPercentage DNSSummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryIPVersionResponseMetaNormalizationMin0Max DNSSummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryIPVersionResponseMetaNormalizationMinMax DNSSummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryIPVersionResponseMetaNormalizationRawValues DNSSummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryIPVersionResponseMetaNormalizationPercentageChange DNSSummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryIPVersionResponseMetaNormalizationRollingAverage DNSSummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryIPVersionResponseMetaNormalizationOverlappedPercentage DNSSummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryIPVersionResponseMetaNormalizationRatio DNSSummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryIPVersionResponseSummary0` - `IPv4 string` A numeric string. - `IPv6 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.IPVersion(context.TODO(), radar.DNSSummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.MatchingAnswer(ctx, query) (*DNSSummaryMatchingAnswerResponse, error)` **get** `/radar/dns/summary/matching_answer` Retrieves the distribution of DNS queries by matching answers. ### Parameters - `query DNSSummaryMatchingAnswerParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryMatchingAnswerParamsFormat]` Format in which results will be returned. - `const DNSSummaryMatchingAnswerParamsFormatJson DNSSummaryMatchingAnswerParamsFormat = "JSON"` - `const DNSSummaryMatchingAnswerParamsFormatCsv DNSSummaryMatchingAnswerParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryMatchingAnswerParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryMatchingAnswerParamsProtocolUdp DNSSummaryMatchingAnswerParamsProtocol = "UDP"` - `const DNSSummaryMatchingAnswerParamsProtocolTCP DNSSummaryMatchingAnswerParamsProtocol = "TCP"` - `const DNSSummaryMatchingAnswerParamsProtocolHTTPS DNSSummaryMatchingAnswerParamsProtocol = "HTTPS"` - `const DNSSummaryMatchingAnswerParamsProtocolTLS DNSSummaryMatchingAnswerParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryMatchingAnswerParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryMatchingAnswerParamsQueryTypeA DNSSummaryMatchingAnswerParamsQueryType = "A"` - `const DNSSummaryMatchingAnswerParamsQueryTypeAAAA DNSSummaryMatchingAnswerParamsQueryType = "AAAA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeA6 DNSSummaryMatchingAnswerParamsQueryType = "A6"` - `const DNSSummaryMatchingAnswerParamsQueryTypeAfsdb DNSSummaryMatchingAnswerParamsQueryType = "AFSDB"` - `const DNSSummaryMatchingAnswerParamsQueryTypeAny DNSSummaryMatchingAnswerParamsQueryType = "ANY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeApl DNSSummaryMatchingAnswerParamsQueryType = "APL"` - `const DNSSummaryMatchingAnswerParamsQueryTypeAtma DNSSummaryMatchingAnswerParamsQueryType = "ATMA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeAXFR DNSSummaryMatchingAnswerParamsQueryType = "AXFR"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCAA DNSSummaryMatchingAnswerParamsQueryType = "CAA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCdnskey DNSSummaryMatchingAnswerParamsQueryType = "CDNSKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCds DNSSummaryMatchingAnswerParamsQueryType = "CDS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCERT DNSSummaryMatchingAnswerParamsQueryType = "CERT"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCNAME DNSSummaryMatchingAnswerParamsQueryType = "CNAME"` - `const DNSSummaryMatchingAnswerParamsQueryTypeCsync DNSSummaryMatchingAnswerParamsQueryType = "CSYNC"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDhcid DNSSummaryMatchingAnswerParamsQueryType = "DHCID"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDlv DNSSummaryMatchingAnswerParamsQueryType = "DLV"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDname DNSSummaryMatchingAnswerParamsQueryType = "DNAME"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDNSKEY DNSSummaryMatchingAnswerParamsQueryType = "DNSKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDoa DNSSummaryMatchingAnswerParamsQueryType = "DOA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeDS DNSSummaryMatchingAnswerParamsQueryType = "DS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeEid DNSSummaryMatchingAnswerParamsQueryType = "EID"` - `const DNSSummaryMatchingAnswerParamsQueryTypeEui48 DNSSummaryMatchingAnswerParamsQueryType = "EUI48"` - `const DNSSummaryMatchingAnswerParamsQueryTypeEui64 DNSSummaryMatchingAnswerParamsQueryType = "EUI64"` - `const DNSSummaryMatchingAnswerParamsQueryTypeGpos DNSSummaryMatchingAnswerParamsQueryType = "GPOS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeGid DNSSummaryMatchingAnswerParamsQueryType = "GID"` - `const DNSSummaryMatchingAnswerParamsQueryTypeHinfo DNSSummaryMatchingAnswerParamsQueryType = "HINFO"` - `const DNSSummaryMatchingAnswerParamsQueryTypeHip DNSSummaryMatchingAnswerParamsQueryType = "HIP"` - `const DNSSummaryMatchingAnswerParamsQueryTypeHTTPS DNSSummaryMatchingAnswerParamsQueryType = "HTTPS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeIpseckey DNSSummaryMatchingAnswerParamsQueryType = "IPSECKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeIsdn DNSSummaryMatchingAnswerParamsQueryType = "ISDN"` - `const DNSSummaryMatchingAnswerParamsQueryTypeIxfr DNSSummaryMatchingAnswerParamsQueryType = "IXFR"` - `const DNSSummaryMatchingAnswerParamsQueryTypeKey DNSSummaryMatchingAnswerParamsQueryType = "KEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeKx DNSSummaryMatchingAnswerParamsQueryType = "KX"` - `const DNSSummaryMatchingAnswerParamsQueryTypeL32 DNSSummaryMatchingAnswerParamsQueryType = "L32"` - `const DNSSummaryMatchingAnswerParamsQueryTypeL64 DNSSummaryMatchingAnswerParamsQueryType = "L64"` - `const DNSSummaryMatchingAnswerParamsQueryTypeLOC DNSSummaryMatchingAnswerParamsQueryType = "LOC"` - `const DNSSummaryMatchingAnswerParamsQueryTypeLp DNSSummaryMatchingAnswerParamsQueryType = "LP"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMaila DNSSummaryMatchingAnswerParamsQueryType = "MAILA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMailb DNSSummaryMatchingAnswerParamsQueryType = "MAILB"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMB DNSSummaryMatchingAnswerParamsQueryType = "MB"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMd DNSSummaryMatchingAnswerParamsQueryType = "MD"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMf DNSSummaryMatchingAnswerParamsQueryType = "MF"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMg DNSSummaryMatchingAnswerParamsQueryType = "MG"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMinfo DNSSummaryMatchingAnswerParamsQueryType = "MINFO"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMr DNSSummaryMatchingAnswerParamsQueryType = "MR"` - `const DNSSummaryMatchingAnswerParamsQueryTypeMX DNSSummaryMatchingAnswerParamsQueryType = "MX"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNAPTR DNSSummaryMatchingAnswerParamsQueryType = "NAPTR"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNb DNSSummaryMatchingAnswerParamsQueryType = "NB"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNbstat DNSSummaryMatchingAnswerParamsQueryType = "NBSTAT"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNid DNSSummaryMatchingAnswerParamsQueryType = "NID"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNimloc DNSSummaryMatchingAnswerParamsQueryType = "NIMLOC"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNinfo DNSSummaryMatchingAnswerParamsQueryType = "NINFO"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNS DNSSummaryMatchingAnswerParamsQueryType = "NS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNsap DNSSummaryMatchingAnswerParamsQueryType = "NSAP"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNsec DNSSummaryMatchingAnswerParamsQueryType = "NSEC"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNsec3 DNSSummaryMatchingAnswerParamsQueryType = "NSEC3"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNsec3Param DNSSummaryMatchingAnswerParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNull DNSSummaryMatchingAnswerParamsQueryType = "NULL"` - `const DNSSummaryMatchingAnswerParamsQueryTypeNxt DNSSummaryMatchingAnswerParamsQueryType = "NXT"` - `const DNSSummaryMatchingAnswerParamsQueryTypeOpenpgpkey DNSSummaryMatchingAnswerParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeOpt DNSSummaryMatchingAnswerParamsQueryType = "OPT"` - `const DNSSummaryMatchingAnswerParamsQueryTypePTR DNSSummaryMatchingAnswerParamsQueryType = "PTR"` - `const DNSSummaryMatchingAnswerParamsQueryTypePx DNSSummaryMatchingAnswerParamsQueryType = "PX"` - `const DNSSummaryMatchingAnswerParamsQueryTypeRkey DNSSummaryMatchingAnswerParamsQueryType = "RKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeRp DNSSummaryMatchingAnswerParamsQueryType = "RP"` - `const DNSSummaryMatchingAnswerParamsQueryTypeRrsig DNSSummaryMatchingAnswerParamsQueryType = "RRSIG"` - `const DNSSummaryMatchingAnswerParamsQueryTypeRt DNSSummaryMatchingAnswerParamsQueryType = "RT"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSig DNSSummaryMatchingAnswerParamsQueryType = "SIG"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSink DNSSummaryMatchingAnswerParamsQueryType = "SINK"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSMIMEA DNSSummaryMatchingAnswerParamsQueryType = "SMIMEA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSOA DNSSummaryMatchingAnswerParamsQueryType = "SOA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSPF DNSSummaryMatchingAnswerParamsQueryType = "SPF"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSRV DNSSummaryMatchingAnswerParamsQueryType = "SRV"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSSHFP DNSSummaryMatchingAnswerParamsQueryType = "SSHFP"` - `const DNSSummaryMatchingAnswerParamsQueryTypeSVCB DNSSummaryMatchingAnswerParamsQueryType = "SVCB"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTa DNSSummaryMatchingAnswerParamsQueryType = "TA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTalink DNSSummaryMatchingAnswerParamsQueryType = "TALINK"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTkey DNSSummaryMatchingAnswerParamsQueryType = "TKEY"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTLSA DNSSummaryMatchingAnswerParamsQueryType = "TLSA"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTSIG DNSSummaryMatchingAnswerParamsQueryType = "TSIG"` - `const DNSSummaryMatchingAnswerParamsQueryTypeTXT DNSSummaryMatchingAnswerParamsQueryType = "TXT"` - `const DNSSummaryMatchingAnswerParamsQueryTypeUinfo DNSSummaryMatchingAnswerParamsQueryType = "UINFO"` - `const DNSSummaryMatchingAnswerParamsQueryTypeUID DNSSummaryMatchingAnswerParamsQueryType = "UID"` - `const DNSSummaryMatchingAnswerParamsQueryTypeUnspec DNSSummaryMatchingAnswerParamsQueryType = "UNSPEC"` - `const DNSSummaryMatchingAnswerParamsQueryTypeURI DNSSummaryMatchingAnswerParamsQueryType = "URI"` - `const DNSSummaryMatchingAnswerParamsQueryTypeWks DNSSummaryMatchingAnswerParamsQueryType = "WKS"` - `const DNSSummaryMatchingAnswerParamsQueryTypeX25 DNSSummaryMatchingAnswerParamsQueryType = "X25"` - `const DNSSummaryMatchingAnswerParamsQueryTypeZonemd DNSSummaryMatchingAnswerParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryMatchingAnswerParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryMatchingAnswerParamsResponseCodeNoerror DNSSummaryMatchingAnswerParamsResponseCode = "NOERROR"` - `const DNSSummaryMatchingAnswerParamsResponseCodeFormerr DNSSummaryMatchingAnswerParamsResponseCode = "FORMERR"` - `const DNSSummaryMatchingAnswerParamsResponseCodeServfail DNSSummaryMatchingAnswerParamsResponseCode = "SERVFAIL"` - `const DNSSummaryMatchingAnswerParamsResponseCodeNxdomain DNSSummaryMatchingAnswerParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryMatchingAnswerParamsResponseCodeNotimp DNSSummaryMatchingAnswerParamsResponseCode = "NOTIMP"` - `const DNSSummaryMatchingAnswerParamsResponseCodeRefused DNSSummaryMatchingAnswerParamsResponseCode = "REFUSED"` - `const DNSSummaryMatchingAnswerParamsResponseCodeYxdomain DNSSummaryMatchingAnswerParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryMatchingAnswerParamsResponseCodeYxrrset DNSSummaryMatchingAnswerParamsResponseCode = "YXRRSET"` - `const DNSSummaryMatchingAnswerParamsResponseCodeNxrrset DNSSummaryMatchingAnswerParamsResponseCode = "NXRRSET"` - `const DNSSummaryMatchingAnswerParamsResponseCodeNotauth DNSSummaryMatchingAnswerParamsResponseCode = "NOTAUTH"` - `const DNSSummaryMatchingAnswerParamsResponseCodeNotzone DNSSummaryMatchingAnswerParamsResponseCode = "NOTZONE"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadsig DNSSummaryMatchingAnswerParamsResponseCode = "BADSIG"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadkey DNSSummaryMatchingAnswerParamsResponseCode = "BADKEY"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadtime DNSSummaryMatchingAnswerParamsResponseCode = "BADTIME"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadmode DNSSummaryMatchingAnswerParamsResponseCode = "BADMODE"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadname DNSSummaryMatchingAnswerParamsResponseCode = "BADNAME"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadalg DNSSummaryMatchingAnswerParamsResponseCode = "BADALG"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadtrunc DNSSummaryMatchingAnswerParamsResponseCode = "BADTRUNC"` - `const DNSSummaryMatchingAnswerParamsResponseCodeBadcookie DNSSummaryMatchingAnswerParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryMatchingAnswerResponse struct{…}` - `Meta DNSSummaryMatchingAnswerResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryMatchingAnswerResponseMetaConfidenceInfo` - `Annotations []DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryMatchingAnswerResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryMatchingAnswerResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryMatchingAnswerResponseMetaNormalizationPercentage DNSSummaryMatchingAnswerResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationMin0Max DNSSummaryMatchingAnswerResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationMinMax DNSSummaryMatchingAnswerResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationRawValues DNSSummaryMatchingAnswerResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationPercentageChange DNSSummaryMatchingAnswerResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationRollingAverage DNSSummaryMatchingAnswerResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationOverlappedPercentage DNSSummaryMatchingAnswerResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryMatchingAnswerResponseMetaNormalizationRatio DNSSummaryMatchingAnswerResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryMatchingAnswerResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryMatchingAnswerResponseSummary0` - `Negative string` A numeric string. - `Positive string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.MatchingAnswer(context.TODO(), radar.DNSSummaryMatchingAnswerParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.Protocol(ctx, query) (*DNSSummaryProtocolResponse, error)` **get** `/radar/dns/summary/protocol` Retrieves the distribution of DNS queries by DNS transport protocol. ### Parameters - `query DNSSummaryProtocolParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryProtocolParamsFormat]` Format in which results will be returned. - `const DNSSummaryProtocolParamsFormatJson DNSSummaryProtocolParamsFormat = "JSON"` - `const DNSSummaryProtocolParamsFormatCsv DNSSummaryProtocolParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `QueryType param.Field[[]DNSSummaryProtocolParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryProtocolParamsQueryTypeA DNSSummaryProtocolParamsQueryType = "A"` - `const DNSSummaryProtocolParamsQueryTypeAAAA DNSSummaryProtocolParamsQueryType = "AAAA"` - `const DNSSummaryProtocolParamsQueryTypeA6 DNSSummaryProtocolParamsQueryType = "A6"` - `const DNSSummaryProtocolParamsQueryTypeAfsdb DNSSummaryProtocolParamsQueryType = "AFSDB"` - `const DNSSummaryProtocolParamsQueryTypeAny DNSSummaryProtocolParamsQueryType = "ANY"` - `const DNSSummaryProtocolParamsQueryTypeApl DNSSummaryProtocolParamsQueryType = "APL"` - `const DNSSummaryProtocolParamsQueryTypeAtma DNSSummaryProtocolParamsQueryType = "ATMA"` - `const DNSSummaryProtocolParamsQueryTypeAXFR DNSSummaryProtocolParamsQueryType = "AXFR"` - `const DNSSummaryProtocolParamsQueryTypeCAA DNSSummaryProtocolParamsQueryType = "CAA"` - `const DNSSummaryProtocolParamsQueryTypeCdnskey DNSSummaryProtocolParamsQueryType = "CDNSKEY"` - `const DNSSummaryProtocolParamsQueryTypeCds DNSSummaryProtocolParamsQueryType = "CDS"` - `const DNSSummaryProtocolParamsQueryTypeCERT DNSSummaryProtocolParamsQueryType = "CERT"` - `const DNSSummaryProtocolParamsQueryTypeCNAME DNSSummaryProtocolParamsQueryType = "CNAME"` - `const DNSSummaryProtocolParamsQueryTypeCsync DNSSummaryProtocolParamsQueryType = "CSYNC"` - `const DNSSummaryProtocolParamsQueryTypeDhcid DNSSummaryProtocolParamsQueryType = "DHCID"` - `const DNSSummaryProtocolParamsQueryTypeDlv DNSSummaryProtocolParamsQueryType = "DLV"` - `const DNSSummaryProtocolParamsQueryTypeDname DNSSummaryProtocolParamsQueryType = "DNAME"` - `const DNSSummaryProtocolParamsQueryTypeDNSKEY DNSSummaryProtocolParamsQueryType = "DNSKEY"` - `const DNSSummaryProtocolParamsQueryTypeDoa DNSSummaryProtocolParamsQueryType = "DOA"` - `const DNSSummaryProtocolParamsQueryTypeDS DNSSummaryProtocolParamsQueryType = "DS"` - `const DNSSummaryProtocolParamsQueryTypeEid DNSSummaryProtocolParamsQueryType = "EID"` - `const DNSSummaryProtocolParamsQueryTypeEui48 DNSSummaryProtocolParamsQueryType = "EUI48"` - `const DNSSummaryProtocolParamsQueryTypeEui64 DNSSummaryProtocolParamsQueryType = "EUI64"` - `const DNSSummaryProtocolParamsQueryTypeGpos DNSSummaryProtocolParamsQueryType = "GPOS"` - `const DNSSummaryProtocolParamsQueryTypeGid DNSSummaryProtocolParamsQueryType = "GID"` - `const DNSSummaryProtocolParamsQueryTypeHinfo DNSSummaryProtocolParamsQueryType = "HINFO"` - `const DNSSummaryProtocolParamsQueryTypeHip DNSSummaryProtocolParamsQueryType = "HIP"` - `const DNSSummaryProtocolParamsQueryTypeHTTPS DNSSummaryProtocolParamsQueryType = "HTTPS"` - `const DNSSummaryProtocolParamsQueryTypeIpseckey DNSSummaryProtocolParamsQueryType = "IPSECKEY"` - `const DNSSummaryProtocolParamsQueryTypeIsdn DNSSummaryProtocolParamsQueryType = "ISDN"` - `const DNSSummaryProtocolParamsQueryTypeIxfr DNSSummaryProtocolParamsQueryType = "IXFR"` - `const DNSSummaryProtocolParamsQueryTypeKey DNSSummaryProtocolParamsQueryType = "KEY"` - `const DNSSummaryProtocolParamsQueryTypeKx DNSSummaryProtocolParamsQueryType = "KX"` - `const DNSSummaryProtocolParamsQueryTypeL32 DNSSummaryProtocolParamsQueryType = "L32"` - `const DNSSummaryProtocolParamsQueryTypeL64 DNSSummaryProtocolParamsQueryType = "L64"` - `const DNSSummaryProtocolParamsQueryTypeLOC DNSSummaryProtocolParamsQueryType = "LOC"` - `const DNSSummaryProtocolParamsQueryTypeLp DNSSummaryProtocolParamsQueryType = "LP"` - `const DNSSummaryProtocolParamsQueryTypeMaila DNSSummaryProtocolParamsQueryType = "MAILA"` - `const DNSSummaryProtocolParamsQueryTypeMailb DNSSummaryProtocolParamsQueryType = "MAILB"` - `const DNSSummaryProtocolParamsQueryTypeMB DNSSummaryProtocolParamsQueryType = "MB"` - `const DNSSummaryProtocolParamsQueryTypeMd DNSSummaryProtocolParamsQueryType = "MD"` - `const DNSSummaryProtocolParamsQueryTypeMf DNSSummaryProtocolParamsQueryType = "MF"` - `const DNSSummaryProtocolParamsQueryTypeMg DNSSummaryProtocolParamsQueryType = "MG"` - `const DNSSummaryProtocolParamsQueryTypeMinfo DNSSummaryProtocolParamsQueryType = "MINFO"` - `const DNSSummaryProtocolParamsQueryTypeMr DNSSummaryProtocolParamsQueryType = "MR"` - `const DNSSummaryProtocolParamsQueryTypeMX DNSSummaryProtocolParamsQueryType = "MX"` - `const DNSSummaryProtocolParamsQueryTypeNAPTR DNSSummaryProtocolParamsQueryType = "NAPTR"` - `const DNSSummaryProtocolParamsQueryTypeNb DNSSummaryProtocolParamsQueryType = "NB"` - `const DNSSummaryProtocolParamsQueryTypeNbstat DNSSummaryProtocolParamsQueryType = "NBSTAT"` - `const DNSSummaryProtocolParamsQueryTypeNid DNSSummaryProtocolParamsQueryType = "NID"` - `const DNSSummaryProtocolParamsQueryTypeNimloc DNSSummaryProtocolParamsQueryType = "NIMLOC"` - `const DNSSummaryProtocolParamsQueryTypeNinfo DNSSummaryProtocolParamsQueryType = "NINFO"` - `const DNSSummaryProtocolParamsQueryTypeNS DNSSummaryProtocolParamsQueryType = "NS"` - `const DNSSummaryProtocolParamsQueryTypeNsap DNSSummaryProtocolParamsQueryType = "NSAP"` - `const DNSSummaryProtocolParamsQueryTypeNsec DNSSummaryProtocolParamsQueryType = "NSEC"` - `const DNSSummaryProtocolParamsQueryTypeNsec3 DNSSummaryProtocolParamsQueryType = "NSEC3"` - `const DNSSummaryProtocolParamsQueryTypeNsec3Param DNSSummaryProtocolParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryProtocolParamsQueryTypeNull DNSSummaryProtocolParamsQueryType = "NULL"` - `const DNSSummaryProtocolParamsQueryTypeNxt DNSSummaryProtocolParamsQueryType = "NXT"` - `const DNSSummaryProtocolParamsQueryTypeOpenpgpkey DNSSummaryProtocolParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryProtocolParamsQueryTypeOpt DNSSummaryProtocolParamsQueryType = "OPT"` - `const DNSSummaryProtocolParamsQueryTypePTR DNSSummaryProtocolParamsQueryType = "PTR"` - `const DNSSummaryProtocolParamsQueryTypePx DNSSummaryProtocolParamsQueryType = "PX"` - `const DNSSummaryProtocolParamsQueryTypeRkey DNSSummaryProtocolParamsQueryType = "RKEY"` - `const DNSSummaryProtocolParamsQueryTypeRp DNSSummaryProtocolParamsQueryType = "RP"` - `const DNSSummaryProtocolParamsQueryTypeRrsig DNSSummaryProtocolParamsQueryType = "RRSIG"` - `const DNSSummaryProtocolParamsQueryTypeRt DNSSummaryProtocolParamsQueryType = "RT"` - `const DNSSummaryProtocolParamsQueryTypeSig DNSSummaryProtocolParamsQueryType = "SIG"` - `const DNSSummaryProtocolParamsQueryTypeSink DNSSummaryProtocolParamsQueryType = "SINK"` - `const DNSSummaryProtocolParamsQueryTypeSMIMEA DNSSummaryProtocolParamsQueryType = "SMIMEA"` - `const DNSSummaryProtocolParamsQueryTypeSOA DNSSummaryProtocolParamsQueryType = "SOA"` - `const DNSSummaryProtocolParamsQueryTypeSPF DNSSummaryProtocolParamsQueryType = "SPF"` - `const DNSSummaryProtocolParamsQueryTypeSRV DNSSummaryProtocolParamsQueryType = "SRV"` - `const DNSSummaryProtocolParamsQueryTypeSSHFP DNSSummaryProtocolParamsQueryType = "SSHFP"` - `const DNSSummaryProtocolParamsQueryTypeSVCB DNSSummaryProtocolParamsQueryType = "SVCB"` - `const DNSSummaryProtocolParamsQueryTypeTa DNSSummaryProtocolParamsQueryType = "TA"` - `const DNSSummaryProtocolParamsQueryTypeTalink DNSSummaryProtocolParamsQueryType = "TALINK"` - `const DNSSummaryProtocolParamsQueryTypeTkey DNSSummaryProtocolParamsQueryType = "TKEY"` - `const DNSSummaryProtocolParamsQueryTypeTLSA DNSSummaryProtocolParamsQueryType = "TLSA"` - `const DNSSummaryProtocolParamsQueryTypeTSIG DNSSummaryProtocolParamsQueryType = "TSIG"` - `const DNSSummaryProtocolParamsQueryTypeTXT DNSSummaryProtocolParamsQueryType = "TXT"` - `const DNSSummaryProtocolParamsQueryTypeUinfo DNSSummaryProtocolParamsQueryType = "UINFO"` - `const DNSSummaryProtocolParamsQueryTypeUID DNSSummaryProtocolParamsQueryType = "UID"` - `const DNSSummaryProtocolParamsQueryTypeUnspec DNSSummaryProtocolParamsQueryType = "UNSPEC"` - `const DNSSummaryProtocolParamsQueryTypeURI DNSSummaryProtocolParamsQueryType = "URI"` - `const DNSSummaryProtocolParamsQueryTypeWks DNSSummaryProtocolParamsQueryType = "WKS"` - `const DNSSummaryProtocolParamsQueryTypeX25 DNSSummaryProtocolParamsQueryType = "X25"` - `const DNSSummaryProtocolParamsQueryTypeZonemd DNSSummaryProtocolParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryProtocolParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryProtocolParamsResponseCodeNoerror DNSSummaryProtocolParamsResponseCode = "NOERROR"` - `const DNSSummaryProtocolParamsResponseCodeFormerr DNSSummaryProtocolParamsResponseCode = "FORMERR"` - `const DNSSummaryProtocolParamsResponseCodeServfail DNSSummaryProtocolParamsResponseCode = "SERVFAIL"` - `const DNSSummaryProtocolParamsResponseCodeNxdomain DNSSummaryProtocolParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryProtocolParamsResponseCodeNotimp DNSSummaryProtocolParamsResponseCode = "NOTIMP"` - `const DNSSummaryProtocolParamsResponseCodeRefused DNSSummaryProtocolParamsResponseCode = "REFUSED"` - `const DNSSummaryProtocolParamsResponseCodeYxdomain DNSSummaryProtocolParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryProtocolParamsResponseCodeYxrrset DNSSummaryProtocolParamsResponseCode = "YXRRSET"` - `const DNSSummaryProtocolParamsResponseCodeNxrrset DNSSummaryProtocolParamsResponseCode = "NXRRSET"` - `const DNSSummaryProtocolParamsResponseCodeNotauth DNSSummaryProtocolParamsResponseCode = "NOTAUTH"` - `const DNSSummaryProtocolParamsResponseCodeNotzone DNSSummaryProtocolParamsResponseCode = "NOTZONE"` - `const DNSSummaryProtocolParamsResponseCodeBadsig DNSSummaryProtocolParamsResponseCode = "BADSIG"` - `const DNSSummaryProtocolParamsResponseCodeBadkey DNSSummaryProtocolParamsResponseCode = "BADKEY"` - `const DNSSummaryProtocolParamsResponseCodeBadtime DNSSummaryProtocolParamsResponseCode = "BADTIME"` - `const DNSSummaryProtocolParamsResponseCodeBadmode DNSSummaryProtocolParamsResponseCode = "BADMODE"` - `const DNSSummaryProtocolParamsResponseCodeBadname DNSSummaryProtocolParamsResponseCode = "BADNAME"` - `const DNSSummaryProtocolParamsResponseCodeBadalg DNSSummaryProtocolParamsResponseCode = "BADALG"` - `const DNSSummaryProtocolParamsResponseCodeBadtrunc DNSSummaryProtocolParamsResponseCode = "BADTRUNC"` - `const DNSSummaryProtocolParamsResponseCodeBadcookie DNSSummaryProtocolParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryProtocolResponse struct{…}` - `Meta DNSSummaryProtocolResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryProtocolResponseMetaConfidenceInfo` - `Annotations []DNSSummaryProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryProtocolResponseMetaNormalizationPercentage DNSSummaryProtocolResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryProtocolResponseMetaNormalizationMin0Max DNSSummaryProtocolResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryProtocolResponseMetaNormalizationMinMax DNSSummaryProtocolResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryProtocolResponseMetaNormalizationRawValues DNSSummaryProtocolResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryProtocolResponseMetaNormalizationPercentageChange DNSSummaryProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryProtocolResponseMetaNormalizationRollingAverage DNSSummaryProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryProtocolResponseMetaNormalizationOverlappedPercentage DNSSummaryProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryProtocolResponseMetaNormalizationRatio DNSSummaryProtocolResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryProtocolResponseSummary0` - `HTTPS string` A numeric string. - `TCP string` A numeric string. - `TLS string` A numeric string. - `Udp string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.Protocol(context.TODO(), radar.DNSSummaryProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.QueryType(ctx, query) (*DNSSummaryQueryTypeResponse, error)` **get** `/radar/dns/summary/query_type` Retrieves the distribution of DNS queries by type. ### Parameters - `query DNSSummaryQueryTypeParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryQueryTypeParamsFormat]` Format in which results will be returned. - `const DNSSummaryQueryTypeParamsFormatJson DNSSummaryQueryTypeParamsFormat = "JSON"` - `const DNSSummaryQueryTypeParamsFormatCsv DNSSummaryQueryTypeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryQueryTypeParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryQueryTypeParamsProtocolUdp DNSSummaryQueryTypeParamsProtocol = "UDP"` - `const DNSSummaryQueryTypeParamsProtocolTCP DNSSummaryQueryTypeParamsProtocol = "TCP"` - `const DNSSummaryQueryTypeParamsProtocolHTTPS DNSSummaryQueryTypeParamsProtocol = "HTTPS"` - `const DNSSummaryQueryTypeParamsProtocolTLS DNSSummaryQueryTypeParamsProtocol = "TLS"` - `ResponseCode param.Field[[]DNSSummaryQueryTypeParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryQueryTypeParamsResponseCodeNoerror DNSSummaryQueryTypeParamsResponseCode = "NOERROR"` - `const DNSSummaryQueryTypeParamsResponseCodeFormerr DNSSummaryQueryTypeParamsResponseCode = "FORMERR"` - `const DNSSummaryQueryTypeParamsResponseCodeServfail DNSSummaryQueryTypeParamsResponseCode = "SERVFAIL"` - `const DNSSummaryQueryTypeParamsResponseCodeNxdomain DNSSummaryQueryTypeParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryQueryTypeParamsResponseCodeNotimp DNSSummaryQueryTypeParamsResponseCode = "NOTIMP"` - `const DNSSummaryQueryTypeParamsResponseCodeRefused DNSSummaryQueryTypeParamsResponseCode = "REFUSED"` - `const DNSSummaryQueryTypeParamsResponseCodeYxdomain DNSSummaryQueryTypeParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryQueryTypeParamsResponseCodeYxrrset DNSSummaryQueryTypeParamsResponseCode = "YXRRSET"` - `const DNSSummaryQueryTypeParamsResponseCodeNxrrset DNSSummaryQueryTypeParamsResponseCode = "NXRRSET"` - `const DNSSummaryQueryTypeParamsResponseCodeNotauth DNSSummaryQueryTypeParamsResponseCode = "NOTAUTH"` - `const DNSSummaryQueryTypeParamsResponseCodeNotzone DNSSummaryQueryTypeParamsResponseCode = "NOTZONE"` - `const DNSSummaryQueryTypeParamsResponseCodeBadsig DNSSummaryQueryTypeParamsResponseCode = "BADSIG"` - `const DNSSummaryQueryTypeParamsResponseCodeBadkey DNSSummaryQueryTypeParamsResponseCode = "BADKEY"` - `const DNSSummaryQueryTypeParamsResponseCodeBadtime DNSSummaryQueryTypeParamsResponseCode = "BADTIME"` - `const DNSSummaryQueryTypeParamsResponseCodeBadmode DNSSummaryQueryTypeParamsResponseCode = "BADMODE"` - `const DNSSummaryQueryTypeParamsResponseCodeBadname DNSSummaryQueryTypeParamsResponseCode = "BADNAME"` - `const DNSSummaryQueryTypeParamsResponseCodeBadalg DNSSummaryQueryTypeParamsResponseCode = "BADALG"` - `const DNSSummaryQueryTypeParamsResponseCodeBadtrunc DNSSummaryQueryTypeParamsResponseCode = "BADTRUNC"` - `const DNSSummaryQueryTypeParamsResponseCodeBadcookie DNSSummaryQueryTypeParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryQueryTypeResponse struct{…}` - `Meta DNSSummaryQueryTypeResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryQueryTypeResponseMetaConfidenceInfo` - `Annotations []DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryQueryTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryQueryTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryQueryTypeResponseMetaNormalizationPercentage DNSSummaryQueryTypeResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryQueryTypeResponseMetaNormalizationMin0Max DNSSummaryQueryTypeResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryQueryTypeResponseMetaNormalizationMinMax DNSSummaryQueryTypeResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryQueryTypeResponseMetaNormalizationRawValues DNSSummaryQueryTypeResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryQueryTypeResponseMetaNormalizationPercentageChange DNSSummaryQueryTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryQueryTypeResponseMetaNormalizationRollingAverage DNSSummaryQueryTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryQueryTypeResponseMetaNormalizationOverlappedPercentage DNSSummaryQueryTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryQueryTypeResponseMetaNormalizationRatio DNSSummaryQueryTypeResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryQueryTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.QueryType(context.TODO(), radar.DNSSummaryQueryTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.ResponseCode(ctx, query) (*DNSSummaryResponseCodeResponse, error)` **get** `/radar/dns/summary/response_code` Retrieves the distribution of DNS queries by response code. ### Parameters - `query DNSSummaryResponseCodeParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryResponseCodeParamsFormat]` Format in which results will be returned. - `const DNSSummaryResponseCodeParamsFormatJson DNSSummaryResponseCodeParamsFormat = "JSON"` - `const DNSSummaryResponseCodeParamsFormatCsv DNSSummaryResponseCodeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryResponseCodeParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryResponseCodeParamsProtocolUdp DNSSummaryResponseCodeParamsProtocol = "UDP"` - `const DNSSummaryResponseCodeParamsProtocolTCP DNSSummaryResponseCodeParamsProtocol = "TCP"` - `const DNSSummaryResponseCodeParamsProtocolHTTPS DNSSummaryResponseCodeParamsProtocol = "HTTPS"` - `const DNSSummaryResponseCodeParamsProtocolTLS DNSSummaryResponseCodeParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryResponseCodeParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryResponseCodeParamsQueryTypeA DNSSummaryResponseCodeParamsQueryType = "A"` - `const DNSSummaryResponseCodeParamsQueryTypeAAAA DNSSummaryResponseCodeParamsQueryType = "AAAA"` - `const DNSSummaryResponseCodeParamsQueryTypeA6 DNSSummaryResponseCodeParamsQueryType = "A6"` - `const DNSSummaryResponseCodeParamsQueryTypeAfsdb DNSSummaryResponseCodeParamsQueryType = "AFSDB"` - `const DNSSummaryResponseCodeParamsQueryTypeAny DNSSummaryResponseCodeParamsQueryType = "ANY"` - `const DNSSummaryResponseCodeParamsQueryTypeApl DNSSummaryResponseCodeParamsQueryType = "APL"` - `const DNSSummaryResponseCodeParamsQueryTypeAtma DNSSummaryResponseCodeParamsQueryType = "ATMA"` - `const DNSSummaryResponseCodeParamsQueryTypeAXFR DNSSummaryResponseCodeParamsQueryType = "AXFR"` - `const DNSSummaryResponseCodeParamsQueryTypeCAA DNSSummaryResponseCodeParamsQueryType = "CAA"` - `const DNSSummaryResponseCodeParamsQueryTypeCdnskey DNSSummaryResponseCodeParamsQueryType = "CDNSKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeCds DNSSummaryResponseCodeParamsQueryType = "CDS"` - `const DNSSummaryResponseCodeParamsQueryTypeCERT DNSSummaryResponseCodeParamsQueryType = "CERT"` - `const DNSSummaryResponseCodeParamsQueryTypeCNAME DNSSummaryResponseCodeParamsQueryType = "CNAME"` - `const DNSSummaryResponseCodeParamsQueryTypeCsync DNSSummaryResponseCodeParamsQueryType = "CSYNC"` - `const DNSSummaryResponseCodeParamsQueryTypeDhcid DNSSummaryResponseCodeParamsQueryType = "DHCID"` - `const DNSSummaryResponseCodeParamsQueryTypeDlv DNSSummaryResponseCodeParamsQueryType = "DLV"` - `const DNSSummaryResponseCodeParamsQueryTypeDname DNSSummaryResponseCodeParamsQueryType = "DNAME"` - `const DNSSummaryResponseCodeParamsQueryTypeDNSKEY DNSSummaryResponseCodeParamsQueryType = "DNSKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeDoa DNSSummaryResponseCodeParamsQueryType = "DOA"` - `const DNSSummaryResponseCodeParamsQueryTypeDS DNSSummaryResponseCodeParamsQueryType = "DS"` - `const DNSSummaryResponseCodeParamsQueryTypeEid DNSSummaryResponseCodeParamsQueryType = "EID"` - `const DNSSummaryResponseCodeParamsQueryTypeEui48 DNSSummaryResponseCodeParamsQueryType = "EUI48"` - `const DNSSummaryResponseCodeParamsQueryTypeEui64 DNSSummaryResponseCodeParamsQueryType = "EUI64"` - `const DNSSummaryResponseCodeParamsQueryTypeGpos DNSSummaryResponseCodeParamsQueryType = "GPOS"` - `const DNSSummaryResponseCodeParamsQueryTypeGid DNSSummaryResponseCodeParamsQueryType = "GID"` - `const DNSSummaryResponseCodeParamsQueryTypeHinfo DNSSummaryResponseCodeParamsQueryType = "HINFO"` - `const DNSSummaryResponseCodeParamsQueryTypeHip DNSSummaryResponseCodeParamsQueryType = "HIP"` - `const DNSSummaryResponseCodeParamsQueryTypeHTTPS DNSSummaryResponseCodeParamsQueryType = "HTTPS"` - `const DNSSummaryResponseCodeParamsQueryTypeIpseckey DNSSummaryResponseCodeParamsQueryType = "IPSECKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeIsdn DNSSummaryResponseCodeParamsQueryType = "ISDN"` - `const DNSSummaryResponseCodeParamsQueryTypeIxfr DNSSummaryResponseCodeParamsQueryType = "IXFR"` - `const DNSSummaryResponseCodeParamsQueryTypeKey DNSSummaryResponseCodeParamsQueryType = "KEY"` - `const DNSSummaryResponseCodeParamsQueryTypeKx DNSSummaryResponseCodeParamsQueryType = "KX"` - `const DNSSummaryResponseCodeParamsQueryTypeL32 DNSSummaryResponseCodeParamsQueryType = "L32"` - `const DNSSummaryResponseCodeParamsQueryTypeL64 DNSSummaryResponseCodeParamsQueryType = "L64"` - `const DNSSummaryResponseCodeParamsQueryTypeLOC DNSSummaryResponseCodeParamsQueryType = "LOC"` - `const DNSSummaryResponseCodeParamsQueryTypeLp DNSSummaryResponseCodeParamsQueryType = "LP"` - `const DNSSummaryResponseCodeParamsQueryTypeMaila DNSSummaryResponseCodeParamsQueryType = "MAILA"` - `const DNSSummaryResponseCodeParamsQueryTypeMailb DNSSummaryResponseCodeParamsQueryType = "MAILB"` - `const DNSSummaryResponseCodeParamsQueryTypeMB DNSSummaryResponseCodeParamsQueryType = "MB"` - `const DNSSummaryResponseCodeParamsQueryTypeMd DNSSummaryResponseCodeParamsQueryType = "MD"` - `const DNSSummaryResponseCodeParamsQueryTypeMf DNSSummaryResponseCodeParamsQueryType = "MF"` - `const DNSSummaryResponseCodeParamsQueryTypeMg DNSSummaryResponseCodeParamsQueryType = "MG"` - `const DNSSummaryResponseCodeParamsQueryTypeMinfo DNSSummaryResponseCodeParamsQueryType = "MINFO"` - `const DNSSummaryResponseCodeParamsQueryTypeMr DNSSummaryResponseCodeParamsQueryType = "MR"` - `const DNSSummaryResponseCodeParamsQueryTypeMX DNSSummaryResponseCodeParamsQueryType = "MX"` - `const DNSSummaryResponseCodeParamsQueryTypeNAPTR DNSSummaryResponseCodeParamsQueryType = "NAPTR"` - `const DNSSummaryResponseCodeParamsQueryTypeNb DNSSummaryResponseCodeParamsQueryType = "NB"` - `const DNSSummaryResponseCodeParamsQueryTypeNbstat DNSSummaryResponseCodeParamsQueryType = "NBSTAT"` - `const DNSSummaryResponseCodeParamsQueryTypeNid DNSSummaryResponseCodeParamsQueryType = "NID"` - `const DNSSummaryResponseCodeParamsQueryTypeNimloc DNSSummaryResponseCodeParamsQueryType = "NIMLOC"` - `const DNSSummaryResponseCodeParamsQueryTypeNinfo DNSSummaryResponseCodeParamsQueryType = "NINFO"` - `const DNSSummaryResponseCodeParamsQueryTypeNS DNSSummaryResponseCodeParamsQueryType = "NS"` - `const DNSSummaryResponseCodeParamsQueryTypeNsap DNSSummaryResponseCodeParamsQueryType = "NSAP"` - `const DNSSummaryResponseCodeParamsQueryTypeNsec DNSSummaryResponseCodeParamsQueryType = "NSEC"` - `const DNSSummaryResponseCodeParamsQueryTypeNsec3 DNSSummaryResponseCodeParamsQueryType = "NSEC3"` - `const DNSSummaryResponseCodeParamsQueryTypeNsec3Param DNSSummaryResponseCodeParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryResponseCodeParamsQueryTypeNull DNSSummaryResponseCodeParamsQueryType = "NULL"` - `const DNSSummaryResponseCodeParamsQueryTypeNxt DNSSummaryResponseCodeParamsQueryType = "NXT"` - `const DNSSummaryResponseCodeParamsQueryTypeOpenpgpkey DNSSummaryResponseCodeParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeOpt DNSSummaryResponseCodeParamsQueryType = "OPT"` - `const DNSSummaryResponseCodeParamsQueryTypePTR DNSSummaryResponseCodeParamsQueryType = "PTR"` - `const DNSSummaryResponseCodeParamsQueryTypePx DNSSummaryResponseCodeParamsQueryType = "PX"` - `const DNSSummaryResponseCodeParamsQueryTypeRkey DNSSummaryResponseCodeParamsQueryType = "RKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeRp DNSSummaryResponseCodeParamsQueryType = "RP"` - `const DNSSummaryResponseCodeParamsQueryTypeRrsig DNSSummaryResponseCodeParamsQueryType = "RRSIG"` - `const DNSSummaryResponseCodeParamsQueryTypeRt DNSSummaryResponseCodeParamsQueryType = "RT"` - `const DNSSummaryResponseCodeParamsQueryTypeSig DNSSummaryResponseCodeParamsQueryType = "SIG"` - `const DNSSummaryResponseCodeParamsQueryTypeSink DNSSummaryResponseCodeParamsQueryType = "SINK"` - `const DNSSummaryResponseCodeParamsQueryTypeSMIMEA DNSSummaryResponseCodeParamsQueryType = "SMIMEA"` - `const DNSSummaryResponseCodeParamsQueryTypeSOA DNSSummaryResponseCodeParamsQueryType = "SOA"` - `const DNSSummaryResponseCodeParamsQueryTypeSPF DNSSummaryResponseCodeParamsQueryType = "SPF"` - `const DNSSummaryResponseCodeParamsQueryTypeSRV DNSSummaryResponseCodeParamsQueryType = "SRV"` - `const DNSSummaryResponseCodeParamsQueryTypeSSHFP DNSSummaryResponseCodeParamsQueryType = "SSHFP"` - `const DNSSummaryResponseCodeParamsQueryTypeSVCB DNSSummaryResponseCodeParamsQueryType = "SVCB"` - `const DNSSummaryResponseCodeParamsQueryTypeTa DNSSummaryResponseCodeParamsQueryType = "TA"` - `const DNSSummaryResponseCodeParamsQueryTypeTalink DNSSummaryResponseCodeParamsQueryType = "TALINK"` - `const DNSSummaryResponseCodeParamsQueryTypeTkey DNSSummaryResponseCodeParamsQueryType = "TKEY"` - `const DNSSummaryResponseCodeParamsQueryTypeTLSA DNSSummaryResponseCodeParamsQueryType = "TLSA"` - `const DNSSummaryResponseCodeParamsQueryTypeTSIG DNSSummaryResponseCodeParamsQueryType = "TSIG"` - `const DNSSummaryResponseCodeParamsQueryTypeTXT DNSSummaryResponseCodeParamsQueryType = "TXT"` - `const DNSSummaryResponseCodeParamsQueryTypeUinfo DNSSummaryResponseCodeParamsQueryType = "UINFO"` - `const DNSSummaryResponseCodeParamsQueryTypeUID DNSSummaryResponseCodeParamsQueryType = "UID"` - `const DNSSummaryResponseCodeParamsQueryTypeUnspec DNSSummaryResponseCodeParamsQueryType = "UNSPEC"` - `const DNSSummaryResponseCodeParamsQueryTypeURI DNSSummaryResponseCodeParamsQueryType = "URI"` - `const DNSSummaryResponseCodeParamsQueryTypeWks DNSSummaryResponseCodeParamsQueryType = "WKS"` - `const DNSSummaryResponseCodeParamsQueryTypeX25 DNSSummaryResponseCodeParamsQueryType = "X25"` - `const DNSSummaryResponseCodeParamsQueryTypeZonemd DNSSummaryResponseCodeParamsQueryType = "ZONEMD"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryResponseCodeResponse struct{…}` - `Meta DNSSummaryResponseCodeResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryResponseCodeResponseMetaConfidenceInfo` - `Annotations []DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryResponseCodeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryResponseCodeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryResponseCodeResponseMetaNormalizationPercentage DNSSummaryResponseCodeResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryResponseCodeResponseMetaNormalizationMin0Max DNSSummaryResponseCodeResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryResponseCodeResponseMetaNormalizationMinMax DNSSummaryResponseCodeResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryResponseCodeResponseMetaNormalizationRawValues DNSSummaryResponseCodeResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryResponseCodeResponseMetaNormalizationPercentageChange DNSSummaryResponseCodeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryResponseCodeResponseMetaNormalizationRollingAverage DNSSummaryResponseCodeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryResponseCodeResponseMetaNormalizationOverlappedPercentage DNSSummaryResponseCodeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryResponseCodeResponseMetaNormalizationRatio DNSSummaryResponseCodeResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryResponseCodeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.ResponseCode(context.TODO(), radar.DNSSummaryResponseCodeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.Summary.ResponseTTL(ctx, query) (*DNSSummaryResponseTTLResponse, error)` **get** `/radar/dns/summary/response_ttl` Retrieves the distribution of DNS queries by minimum response TTL. ### Parameters - `query DNSSummaryResponseTTLParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSSummaryResponseTTLParamsFormat]` Format in which results will be returned. - `const DNSSummaryResponseTTLParamsFormatJson DNSSummaryResponseTTLParamsFormat = "JSON"` - `const DNSSummaryResponseTTLParamsFormatCsv DNSSummaryResponseTTLParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSSummaryResponseTTLParamsProtocol]` Filters results by DNS transport protocol. - `const DNSSummaryResponseTTLParamsProtocolUdp DNSSummaryResponseTTLParamsProtocol = "UDP"` - `const DNSSummaryResponseTTLParamsProtocolTCP DNSSummaryResponseTTLParamsProtocol = "TCP"` - `const DNSSummaryResponseTTLParamsProtocolHTTPS DNSSummaryResponseTTLParamsProtocol = "HTTPS"` - `const DNSSummaryResponseTTLParamsProtocolTLS DNSSummaryResponseTTLParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSSummaryResponseTTLParamsQueryType]` Filters results by DNS query type. - `const DNSSummaryResponseTTLParamsQueryTypeA DNSSummaryResponseTTLParamsQueryType = "A"` - `const DNSSummaryResponseTTLParamsQueryTypeAAAA DNSSummaryResponseTTLParamsQueryType = "AAAA"` - `const DNSSummaryResponseTTLParamsQueryTypeA6 DNSSummaryResponseTTLParamsQueryType = "A6"` - `const DNSSummaryResponseTTLParamsQueryTypeAfsdb DNSSummaryResponseTTLParamsQueryType = "AFSDB"` - `const DNSSummaryResponseTTLParamsQueryTypeAny DNSSummaryResponseTTLParamsQueryType = "ANY"` - `const DNSSummaryResponseTTLParamsQueryTypeApl DNSSummaryResponseTTLParamsQueryType = "APL"` - `const DNSSummaryResponseTTLParamsQueryTypeAtma DNSSummaryResponseTTLParamsQueryType = "ATMA"` - `const DNSSummaryResponseTTLParamsQueryTypeAXFR DNSSummaryResponseTTLParamsQueryType = "AXFR"` - `const DNSSummaryResponseTTLParamsQueryTypeCAA DNSSummaryResponseTTLParamsQueryType = "CAA"` - `const DNSSummaryResponseTTLParamsQueryTypeCdnskey DNSSummaryResponseTTLParamsQueryType = "CDNSKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeCds DNSSummaryResponseTTLParamsQueryType = "CDS"` - `const DNSSummaryResponseTTLParamsQueryTypeCERT DNSSummaryResponseTTLParamsQueryType = "CERT"` - `const DNSSummaryResponseTTLParamsQueryTypeCNAME DNSSummaryResponseTTLParamsQueryType = "CNAME"` - `const DNSSummaryResponseTTLParamsQueryTypeCsync DNSSummaryResponseTTLParamsQueryType = "CSYNC"` - `const DNSSummaryResponseTTLParamsQueryTypeDhcid DNSSummaryResponseTTLParamsQueryType = "DHCID"` - `const DNSSummaryResponseTTLParamsQueryTypeDlv DNSSummaryResponseTTLParamsQueryType = "DLV"` - `const DNSSummaryResponseTTLParamsQueryTypeDname DNSSummaryResponseTTLParamsQueryType = "DNAME"` - `const DNSSummaryResponseTTLParamsQueryTypeDNSKEY DNSSummaryResponseTTLParamsQueryType = "DNSKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeDoa DNSSummaryResponseTTLParamsQueryType = "DOA"` - `const DNSSummaryResponseTTLParamsQueryTypeDS DNSSummaryResponseTTLParamsQueryType = "DS"` - `const DNSSummaryResponseTTLParamsQueryTypeEid DNSSummaryResponseTTLParamsQueryType = "EID"` - `const DNSSummaryResponseTTLParamsQueryTypeEui48 DNSSummaryResponseTTLParamsQueryType = "EUI48"` - `const DNSSummaryResponseTTLParamsQueryTypeEui64 DNSSummaryResponseTTLParamsQueryType = "EUI64"` - `const DNSSummaryResponseTTLParamsQueryTypeGpos DNSSummaryResponseTTLParamsQueryType = "GPOS"` - `const DNSSummaryResponseTTLParamsQueryTypeGid DNSSummaryResponseTTLParamsQueryType = "GID"` - `const DNSSummaryResponseTTLParamsQueryTypeHinfo DNSSummaryResponseTTLParamsQueryType = "HINFO"` - `const DNSSummaryResponseTTLParamsQueryTypeHip DNSSummaryResponseTTLParamsQueryType = "HIP"` - `const DNSSummaryResponseTTLParamsQueryTypeHTTPS DNSSummaryResponseTTLParamsQueryType = "HTTPS"` - `const DNSSummaryResponseTTLParamsQueryTypeIpseckey DNSSummaryResponseTTLParamsQueryType = "IPSECKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeIsdn DNSSummaryResponseTTLParamsQueryType = "ISDN"` - `const DNSSummaryResponseTTLParamsQueryTypeIxfr DNSSummaryResponseTTLParamsQueryType = "IXFR"` - `const DNSSummaryResponseTTLParamsQueryTypeKey DNSSummaryResponseTTLParamsQueryType = "KEY"` - `const DNSSummaryResponseTTLParamsQueryTypeKx DNSSummaryResponseTTLParamsQueryType = "KX"` - `const DNSSummaryResponseTTLParamsQueryTypeL32 DNSSummaryResponseTTLParamsQueryType = "L32"` - `const DNSSummaryResponseTTLParamsQueryTypeL64 DNSSummaryResponseTTLParamsQueryType = "L64"` - `const DNSSummaryResponseTTLParamsQueryTypeLOC DNSSummaryResponseTTLParamsQueryType = "LOC"` - `const DNSSummaryResponseTTLParamsQueryTypeLp DNSSummaryResponseTTLParamsQueryType = "LP"` - `const DNSSummaryResponseTTLParamsQueryTypeMaila DNSSummaryResponseTTLParamsQueryType = "MAILA"` - `const DNSSummaryResponseTTLParamsQueryTypeMailb DNSSummaryResponseTTLParamsQueryType = "MAILB"` - `const DNSSummaryResponseTTLParamsQueryTypeMB DNSSummaryResponseTTLParamsQueryType = "MB"` - `const DNSSummaryResponseTTLParamsQueryTypeMd DNSSummaryResponseTTLParamsQueryType = "MD"` - `const DNSSummaryResponseTTLParamsQueryTypeMf DNSSummaryResponseTTLParamsQueryType = "MF"` - `const DNSSummaryResponseTTLParamsQueryTypeMg DNSSummaryResponseTTLParamsQueryType = "MG"` - `const DNSSummaryResponseTTLParamsQueryTypeMinfo DNSSummaryResponseTTLParamsQueryType = "MINFO"` - `const DNSSummaryResponseTTLParamsQueryTypeMr DNSSummaryResponseTTLParamsQueryType = "MR"` - `const DNSSummaryResponseTTLParamsQueryTypeMX DNSSummaryResponseTTLParamsQueryType = "MX"` - `const DNSSummaryResponseTTLParamsQueryTypeNAPTR DNSSummaryResponseTTLParamsQueryType = "NAPTR"` - `const DNSSummaryResponseTTLParamsQueryTypeNb DNSSummaryResponseTTLParamsQueryType = "NB"` - `const DNSSummaryResponseTTLParamsQueryTypeNbstat DNSSummaryResponseTTLParamsQueryType = "NBSTAT"` - `const DNSSummaryResponseTTLParamsQueryTypeNid DNSSummaryResponseTTLParamsQueryType = "NID"` - `const DNSSummaryResponseTTLParamsQueryTypeNimloc DNSSummaryResponseTTLParamsQueryType = "NIMLOC"` - `const DNSSummaryResponseTTLParamsQueryTypeNinfo DNSSummaryResponseTTLParamsQueryType = "NINFO"` - `const DNSSummaryResponseTTLParamsQueryTypeNS DNSSummaryResponseTTLParamsQueryType = "NS"` - `const DNSSummaryResponseTTLParamsQueryTypeNsap DNSSummaryResponseTTLParamsQueryType = "NSAP"` - `const DNSSummaryResponseTTLParamsQueryTypeNsec DNSSummaryResponseTTLParamsQueryType = "NSEC"` - `const DNSSummaryResponseTTLParamsQueryTypeNsec3 DNSSummaryResponseTTLParamsQueryType = "NSEC3"` - `const DNSSummaryResponseTTLParamsQueryTypeNsec3Param DNSSummaryResponseTTLParamsQueryType = "NSEC3PARAM"` - `const DNSSummaryResponseTTLParamsQueryTypeNull DNSSummaryResponseTTLParamsQueryType = "NULL"` - `const DNSSummaryResponseTTLParamsQueryTypeNxt DNSSummaryResponseTTLParamsQueryType = "NXT"` - `const DNSSummaryResponseTTLParamsQueryTypeOpenpgpkey DNSSummaryResponseTTLParamsQueryType = "OPENPGPKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeOpt DNSSummaryResponseTTLParamsQueryType = "OPT"` - `const DNSSummaryResponseTTLParamsQueryTypePTR DNSSummaryResponseTTLParamsQueryType = "PTR"` - `const DNSSummaryResponseTTLParamsQueryTypePx DNSSummaryResponseTTLParamsQueryType = "PX"` - `const DNSSummaryResponseTTLParamsQueryTypeRkey DNSSummaryResponseTTLParamsQueryType = "RKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeRp DNSSummaryResponseTTLParamsQueryType = "RP"` - `const DNSSummaryResponseTTLParamsQueryTypeRrsig DNSSummaryResponseTTLParamsQueryType = "RRSIG"` - `const DNSSummaryResponseTTLParamsQueryTypeRt DNSSummaryResponseTTLParamsQueryType = "RT"` - `const DNSSummaryResponseTTLParamsQueryTypeSig DNSSummaryResponseTTLParamsQueryType = "SIG"` - `const DNSSummaryResponseTTLParamsQueryTypeSink DNSSummaryResponseTTLParamsQueryType = "SINK"` - `const DNSSummaryResponseTTLParamsQueryTypeSMIMEA DNSSummaryResponseTTLParamsQueryType = "SMIMEA"` - `const DNSSummaryResponseTTLParamsQueryTypeSOA DNSSummaryResponseTTLParamsQueryType = "SOA"` - `const DNSSummaryResponseTTLParamsQueryTypeSPF DNSSummaryResponseTTLParamsQueryType = "SPF"` - `const DNSSummaryResponseTTLParamsQueryTypeSRV DNSSummaryResponseTTLParamsQueryType = "SRV"` - `const DNSSummaryResponseTTLParamsQueryTypeSSHFP DNSSummaryResponseTTLParamsQueryType = "SSHFP"` - `const DNSSummaryResponseTTLParamsQueryTypeSVCB DNSSummaryResponseTTLParamsQueryType = "SVCB"` - `const DNSSummaryResponseTTLParamsQueryTypeTa DNSSummaryResponseTTLParamsQueryType = "TA"` - `const DNSSummaryResponseTTLParamsQueryTypeTalink DNSSummaryResponseTTLParamsQueryType = "TALINK"` - `const DNSSummaryResponseTTLParamsQueryTypeTkey DNSSummaryResponseTTLParamsQueryType = "TKEY"` - `const DNSSummaryResponseTTLParamsQueryTypeTLSA DNSSummaryResponseTTLParamsQueryType = "TLSA"` - `const DNSSummaryResponseTTLParamsQueryTypeTSIG DNSSummaryResponseTTLParamsQueryType = "TSIG"` - `const DNSSummaryResponseTTLParamsQueryTypeTXT DNSSummaryResponseTTLParamsQueryType = "TXT"` - `const DNSSummaryResponseTTLParamsQueryTypeUinfo DNSSummaryResponseTTLParamsQueryType = "UINFO"` - `const DNSSummaryResponseTTLParamsQueryTypeUID DNSSummaryResponseTTLParamsQueryType = "UID"` - `const DNSSummaryResponseTTLParamsQueryTypeUnspec DNSSummaryResponseTTLParamsQueryType = "UNSPEC"` - `const DNSSummaryResponseTTLParamsQueryTypeURI DNSSummaryResponseTTLParamsQueryType = "URI"` - `const DNSSummaryResponseTTLParamsQueryTypeWks DNSSummaryResponseTTLParamsQueryType = "WKS"` - `const DNSSummaryResponseTTLParamsQueryTypeX25 DNSSummaryResponseTTLParamsQueryType = "X25"` - `const DNSSummaryResponseTTLParamsQueryTypeZonemd DNSSummaryResponseTTLParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSSummaryResponseTTLParamsResponseCode]` Filters results by DNS response code. - `const DNSSummaryResponseTTLParamsResponseCodeNoerror DNSSummaryResponseTTLParamsResponseCode = "NOERROR"` - `const DNSSummaryResponseTTLParamsResponseCodeFormerr DNSSummaryResponseTTLParamsResponseCode = "FORMERR"` - `const DNSSummaryResponseTTLParamsResponseCodeServfail DNSSummaryResponseTTLParamsResponseCode = "SERVFAIL"` - `const DNSSummaryResponseTTLParamsResponseCodeNxdomain DNSSummaryResponseTTLParamsResponseCode = "NXDOMAIN"` - `const DNSSummaryResponseTTLParamsResponseCodeNotimp DNSSummaryResponseTTLParamsResponseCode = "NOTIMP"` - `const DNSSummaryResponseTTLParamsResponseCodeRefused DNSSummaryResponseTTLParamsResponseCode = "REFUSED"` - `const DNSSummaryResponseTTLParamsResponseCodeYxdomain DNSSummaryResponseTTLParamsResponseCode = "YXDOMAIN"` - `const DNSSummaryResponseTTLParamsResponseCodeYxrrset DNSSummaryResponseTTLParamsResponseCode = "YXRRSET"` - `const DNSSummaryResponseTTLParamsResponseCodeNxrrset DNSSummaryResponseTTLParamsResponseCode = "NXRRSET"` - `const DNSSummaryResponseTTLParamsResponseCodeNotauth DNSSummaryResponseTTLParamsResponseCode = "NOTAUTH"` - `const DNSSummaryResponseTTLParamsResponseCodeNotzone DNSSummaryResponseTTLParamsResponseCode = "NOTZONE"` - `const DNSSummaryResponseTTLParamsResponseCodeBadsig DNSSummaryResponseTTLParamsResponseCode = "BADSIG"` - `const DNSSummaryResponseTTLParamsResponseCodeBadkey DNSSummaryResponseTTLParamsResponseCode = "BADKEY"` - `const DNSSummaryResponseTTLParamsResponseCodeBadtime DNSSummaryResponseTTLParamsResponseCode = "BADTIME"` - `const DNSSummaryResponseTTLParamsResponseCodeBadmode DNSSummaryResponseTTLParamsResponseCode = "BADMODE"` - `const DNSSummaryResponseTTLParamsResponseCodeBadname DNSSummaryResponseTTLParamsResponseCode = "BADNAME"` - `const DNSSummaryResponseTTLParamsResponseCodeBadalg DNSSummaryResponseTTLParamsResponseCode = "BADALG"` - `const DNSSummaryResponseTTLParamsResponseCodeBadtrunc DNSSummaryResponseTTLParamsResponseCode = "BADTRUNC"` - `const DNSSummaryResponseTTLParamsResponseCodeBadcookie DNSSummaryResponseTTLParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSSummaryResponseTTLResponse struct{…}` - `Meta DNSSummaryResponseTTLResponseMeta` Metadata for the results. - `ConfidenceInfo DNSSummaryResponseTTLResponseMetaConfidenceInfo` - `Annotations []DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotation` - `DataSource DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSSummaryResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSSummaryResponseTTLResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSSummaryResponseTTLResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSSummaryResponseTTLResponseMetaNormalizationPercentage DNSSummaryResponseTTLResponseMetaNormalization = "PERCENTAGE"` - `const DNSSummaryResponseTTLResponseMetaNormalizationMin0Max DNSSummaryResponseTTLResponseMetaNormalization = "MIN0_MAX"` - `const DNSSummaryResponseTTLResponseMetaNormalizationMinMax DNSSummaryResponseTTLResponseMetaNormalization = "MIN_MAX"` - `const DNSSummaryResponseTTLResponseMetaNormalizationRawValues DNSSummaryResponseTTLResponseMetaNormalization = "RAW_VALUES"` - `const DNSSummaryResponseTTLResponseMetaNormalizationPercentageChange DNSSummaryResponseTTLResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSSummaryResponseTTLResponseMetaNormalizationRollingAverage DNSSummaryResponseTTLResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSSummaryResponseTTLResponseMetaNormalizationOverlappedPercentage DNSSummaryResponseTTLResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSSummaryResponseTTLResponseMetaNormalizationRatio DNSSummaryResponseTTLResponseMetaNormalization = "RATIO"` - `Units []DNSSummaryResponseTTLResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 DNSSummaryResponseTTLResponseSummary0` - `Gt15mLte1h string` A numeric string. - `Gt1dLte1w string` A numeric string. - `Gt1hLte1d string` A numeric string. - `Gt1mLte5m string` A numeric string. - `Gt1w string` A numeric string. - `Gt5mLte15m string` A numeric string. - `Lte1m string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.Summary.ResponseTTL(context.TODO(), radar.DNSSummaryResponseTTLParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Timeseries Groups ## Get DNS queries by cache status time series `client.Radar.DNS.TimeseriesGroups.CacheHit(ctx, query) (*DNSTimeseriesGroupCacheHitResponse, error)` **get** `/radar/dns/timeseries_groups/cache_hit` Retrieves the distribution of DNS queries by cache status over time. ### Parameters - `query DNSTimeseriesGroupCacheHitParams` - `AggInterval param.Field[DNSTimeseriesGroupCacheHitParamsAggInterval]` 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/). - `const DNSTimeseriesGroupCacheHitParamsAggInterval15m DNSTimeseriesGroupCacheHitParamsAggInterval = "15m"` - `const DNSTimeseriesGroupCacheHitParamsAggInterval1h DNSTimeseriesGroupCacheHitParamsAggInterval = "1h"` - `const DNSTimeseriesGroupCacheHitParamsAggInterval1d DNSTimeseriesGroupCacheHitParamsAggInterval = "1d"` - `const DNSTimeseriesGroupCacheHitParamsAggInterval1w DNSTimeseriesGroupCacheHitParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupCacheHitParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupCacheHitParamsFormatJson DNSTimeseriesGroupCacheHitParamsFormat = "JSON"` - `const DNSTimeseriesGroupCacheHitParamsFormatCsv DNSTimeseriesGroupCacheHitParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupCacheHitParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupCacheHitParamsProtocolUdp DNSTimeseriesGroupCacheHitParamsProtocol = "UDP"` - `const DNSTimeseriesGroupCacheHitParamsProtocolTCP DNSTimeseriesGroupCacheHitParamsProtocol = "TCP"` - `const DNSTimeseriesGroupCacheHitParamsProtocolHTTPS DNSTimeseriesGroupCacheHitParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupCacheHitParamsProtocolTLS DNSTimeseriesGroupCacheHitParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupCacheHitParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupCacheHitParamsQueryTypeA DNSTimeseriesGroupCacheHitParamsQueryType = "A"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeAAAA DNSTimeseriesGroupCacheHitParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeA6 DNSTimeseriesGroupCacheHitParamsQueryType = "A6"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeAfsdb DNSTimeseriesGroupCacheHitParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeAny DNSTimeseriesGroupCacheHitParamsQueryType = "ANY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeApl DNSTimeseriesGroupCacheHitParamsQueryType = "APL"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeAtma DNSTimeseriesGroupCacheHitParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeAXFR DNSTimeseriesGroupCacheHitParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCAA DNSTimeseriesGroupCacheHitParamsQueryType = "CAA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCdnskey DNSTimeseriesGroupCacheHitParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCds DNSTimeseriesGroupCacheHitParamsQueryType = "CDS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCERT DNSTimeseriesGroupCacheHitParamsQueryType = "CERT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCNAME DNSTimeseriesGroupCacheHitParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeCsync DNSTimeseriesGroupCacheHitParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDhcid DNSTimeseriesGroupCacheHitParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDlv DNSTimeseriesGroupCacheHitParamsQueryType = "DLV"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDname DNSTimeseriesGroupCacheHitParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDNSKEY DNSTimeseriesGroupCacheHitParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDoa DNSTimeseriesGroupCacheHitParamsQueryType = "DOA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeDS DNSTimeseriesGroupCacheHitParamsQueryType = "DS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeEid DNSTimeseriesGroupCacheHitParamsQueryType = "EID"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeEui48 DNSTimeseriesGroupCacheHitParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeEui64 DNSTimeseriesGroupCacheHitParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeGpos DNSTimeseriesGroupCacheHitParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeGid DNSTimeseriesGroupCacheHitParamsQueryType = "GID"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeHinfo DNSTimeseriesGroupCacheHitParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeHip DNSTimeseriesGroupCacheHitParamsQueryType = "HIP"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeHTTPS DNSTimeseriesGroupCacheHitParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeIpseckey DNSTimeseriesGroupCacheHitParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeIsdn DNSTimeseriesGroupCacheHitParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeIxfr DNSTimeseriesGroupCacheHitParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeKey DNSTimeseriesGroupCacheHitParamsQueryType = "KEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeKx DNSTimeseriesGroupCacheHitParamsQueryType = "KX"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeL32 DNSTimeseriesGroupCacheHitParamsQueryType = "L32"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeL64 DNSTimeseriesGroupCacheHitParamsQueryType = "L64"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeLOC DNSTimeseriesGroupCacheHitParamsQueryType = "LOC"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeLp DNSTimeseriesGroupCacheHitParamsQueryType = "LP"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMaila DNSTimeseriesGroupCacheHitParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMailb DNSTimeseriesGroupCacheHitParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMB DNSTimeseriesGroupCacheHitParamsQueryType = "MB"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMd DNSTimeseriesGroupCacheHitParamsQueryType = "MD"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMf DNSTimeseriesGroupCacheHitParamsQueryType = "MF"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMg DNSTimeseriesGroupCacheHitParamsQueryType = "MG"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMinfo DNSTimeseriesGroupCacheHitParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMr DNSTimeseriesGroupCacheHitParamsQueryType = "MR"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeMX DNSTimeseriesGroupCacheHitParamsQueryType = "MX"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNAPTR DNSTimeseriesGroupCacheHitParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNb DNSTimeseriesGroupCacheHitParamsQueryType = "NB"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNbstat DNSTimeseriesGroupCacheHitParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNid DNSTimeseriesGroupCacheHitParamsQueryType = "NID"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNimloc DNSTimeseriesGroupCacheHitParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNinfo DNSTimeseriesGroupCacheHitParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNS DNSTimeseriesGroupCacheHitParamsQueryType = "NS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNsap DNSTimeseriesGroupCacheHitParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNsec DNSTimeseriesGroupCacheHitParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNsec3 DNSTimeseriesGroupCacheHitParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNsec3Param DNSTimeseriesGroupCacheHitParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNull DNSTimeseriesGroupCacheHitParamsQueryType = "NULL"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeNxt DNSTimeseriesGroupCacheHitParamsQueryType = "NXT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeOpenpgpkey DNSTimeseriesGroupCacheHitParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeOpt DNSTimeseriesGroupCacheHitParamsQueryType = "OPT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypePTR DNSTimeseriesGroupCacheHitParamsQueryType = "PTR"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypePx DNSTimeseriesGroupCacheHitParamsQueryType = "PX"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeRkey DNSTimeseriesGroupCacheHitParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeRp DNSTimeseriesGroupCacheHitParamsQueryType = "RP"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeRrsig DNSTimeseriesGroupCacheHitParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeRt DNSTimeseriesGroupCacheHitParamsQueryType = "RT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSig DNSTimeseriesGroupCacheHitParamsQueryType = "SIG"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSink DNSTimeseriesGroupCacheHitParamsQueryType = "SINK"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSMIMEA DNSTimeseriesGroupCacheHitParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSOA DNSTimeseriesGroupCacheHitParamsQueryType = "SOA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSPF DNSTimeseriesGroupCacheHitParamsQueryType = "SPF"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSRV DNSTimeseriesGroupCacheHitParamsQueryType = "SRV"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSSHFP DNSTimeseriesGroupCacheHitParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeSVCB DNSTimeseriesGroupCacheHitParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTa DNSTimeseriesGroupCacheHitParamsQueryType = "TA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTalink DNSTimeseriesGroupCacheHitParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTkey DNSTimeseriesGroupCacheHitParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTLSA DNSTimeseriesGroupCacheHitParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTSIG DNSTimeseriesGroupCacheHitParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeTXT DNSTimeseriesGroupCacheHitParamsQueryType = "TXT"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeUinfo DNSTimeseriesGroupCacheHitParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeUID DNSTimeseriesGroupCacheHitParamsQueryType = "UID"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeUnspec DNSTimeseriesGroupCacheHitParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeURI DNSTimeseriesGroupCacheHitParamsQueryType = "URI"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeWks DNSTimeseriesGroupCacheHitParamsQueryType = "WKS"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeX25 DNSTimeseriesGroupCacheHitParamsQueryType = "X25"` - `const DNSTimeseriesGroupCacheHitParamsQueryTypeZonemd DNSTimeseriesGroupCacheHitParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupCacheHitParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNoerror DNSTimeseriesGroupCacheHitParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeFormerr DNSTimeseriesGroupCacheHitParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeServfail DNSTimeseriesGroupCacheHitParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNxdomain DNSTimeseriesGroupCacheHitParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNotimp DNSTimeseriesGroupCacheHitParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeRefused DNSTimeseriesGroupCacheHitParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeYxdomain DNSTimeseriesGroupCacheHitParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeYxrrset DNSTimeseriesGroupCacheHitParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNxrrset DNSTimeseriesGroupCacheHitParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNotauth DNSTimeseriesGroupCacheHitParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeNotzone DNSTimeseriesGroupCacheHitParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadsig DNSTimeseriesGroupCacheHitParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadkey DNSTimeseriesGroupCacheHitParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadtime DNSTimeseriesGroupCacheHitParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadmode DNSTimeseriesGroupCacheHitParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadname DNSTimeseriesGroupCacheHitParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadalg DNSTimeseriesGroupCacheHitParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadtrunc DNSTimeseriesGroupCacheHitParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupCacheHitParamsResponseCodeBadcookie DNSTimeseriesGroupCacheHitParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupCacheHitResponse struct{…}` - `Meta DNSTimeseriesGroupCacheHitResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupCacheHitResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupCacheHitResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupCacheHitResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupCacheHitResponseMetaAggIntervalOneHour DNSTimeseriesGroupCacheHitResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupCacheHitResponseMetaAggIntervalOneDay DNSTimeseriesGroupCacheHitResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupCacheHitResponseMetaAggIntervalOneWeek DNSTimeseriesGroupCacheHitResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupCacheHitResponseMetaAggIntervalOneMonth DNSTimeseriesGroupCacheHitResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupCacheHitResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupCacheHitResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupCacheHitResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationPercentage DNSTimeseriesGroupCacheHitResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationMin0Max DNSTimeseriesGroupCacheHitResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationMinMax DNSTimeseriesGroupCacheHitResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationRawValues DNSTimeseriesGroupCacheHitResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationPercentageChange DNSTimeseriesGroupCacheHitResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationRollingAverage DNSTimeseriesGroupCacheHitResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupCacheHitResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupCacheHitResponseMetaNormalizationRatio DNSTimeseriesGroupCacheHitResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupCacheHitResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupCacheHitResponseSerie0` - `Negative []string` - `Positive []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.CacheHit(context.TODO(), radar.DNSTimeseriesGroupCacheHitParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.DNSSEC(ctx, query) (*DNSTimeseriesGroupDNSSECResponse, error)` **get** `/radar/dns/timeseries_groups/dnssec` Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support over time. ### Parameters - `query DNSTimeseriesGroupDNSSECParams` - `AggInterval param.Field[DNSTimeseriesGroupDNSSECParamsAggInterval]` 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/). - `const DNSTimeseriesGroupDNSSECParamsAggInterval15m DNSTimeseriesGroupDNSSECParamsAggInterval = "15m"` - `const DNSTimeseriesGroupDNSSECParamsAggInterval1h DNSTimeseriesGroupDNSSECParamsAggInterval = "1h"` - `const DNSTimeseriesGroupDNSSECParamsAggInterval1d DNSTimeseriesGroupDNSSECParamsAggInterval = "1d"` - `const DNSTimeseriesGroupDNSSECParamsAggInterval1w DNSTimeseriesGroupDNSSECParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupDNSSECParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupDNSSECParamsFormatJson DNSTimeseriesGroupDNSSECParamsFormat = "JSON"` - `const DNSTimeseriesGroupDNSSECParamsFormatCsv DNSTimeseriesGroupDNSSECParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupDNSSECParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupDNSSECParamsProtocolUdp DNSTimeseriesGroupDNSSECParamsProtocol = "UDP"` - `const DNSTimeseriesGroupDNSSECParamsProtocolTCP DNSTimeseriesGroupDNSSECParamsProtocol = "TCP"` - `const DNSTimeseriesGroupDNSSECParamsProtocolHTTPS DNSTimeseriesGroupDNSSECParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupDNSSECParamsProtocolTLS DNSTimeseriesGroupDNSSECParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupDNSSECParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupDNSSECParamsQueryTypeA DNSTimeseriesGroupDNSSECParamsQueryType = "A"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeAAAA DNSTimeseriesGroupDNSSECParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeA6 DNSTimeseriesGroupDNSSECParamsQueryType = "A6"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeAfsdb DNSTimeseriesGroupDNSSECParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeAny DNSTimeseriesGroupDNSSECParamsQueryType = "ANY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeApl DNSTimeseriesGroupDNSSECParamsQueryType = "APL"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeAtma DNSTimeseriesGroupDNSSECParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeAXFR DNSTimeseriesGroupDNSSECParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCAA DNSTimeseriesGroupDNSSECParamsQueryType = "CAA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCdnskey DNSTimeseriesGroupDNSSECParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCds DNSTimeseriesGroupDNSSECParamsQueryType = "CDS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCERT DNSTimeseriesGroupDNSSECParamsQueryType = "CERT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCNAME DNSTimeseriesGroupDNSSECParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeCsync DNSTimeseriesGroupDNSSECParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDhcid DNSTimeseriesGroupDNSSECParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDlv DNSTimeseriesGroupDNSSECParamsQueryType = "DLV"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDname DNSTimeseriesGroupDNSSECParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDNSKEY DNSTimeseriesGroupDNSSECParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDoa DNSTimeseriesGroupDNSSECParamsQueryType = "DOA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeDS DNSTimeseriesGroupDNSSECParamsQueryType = "DS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeEid DNSTimeseriesGroupDNSSECParamsQueryType = "EID"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeEui48 DNSTimeseriesGroupDNSSECParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeEui64 DNSTimeseriesGroupDNSSECParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeGpos DNSTimeseriesGroupDNSSECParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeGid DNSTimeseriesGroupDNSSECParamsQueryType = "GID"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeHinfo DNSTimeseriesGroupDNSSECParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeHip DNSTimeseriesGroupDNSSECParamsQueryType = "HIP"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeHTTPS DNSTimeseriesGroupDNSSECParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeIpseckey DNSTimeseriesGroupDNSSECParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeIsdn DNSTimeseriesGroupDNSSECParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeIxfr DNSTimeseriesGroupDNSSECParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeKey DNSTimeseriesGroupDNSSECParamsQueryType = "KEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeKx DNSTimeseriesGroupDNSSECParamsQueryType = "KX"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeL32 DNSTimeseriesGroupDNSSECParamsQueryType = "L32"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeL64 DNSTimeseriesGroupDNSSECParamsQueryType = "L64"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeLOC DNSTimeseriesGroupDNSSECParamsQueryType = "LOC"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeLp DNSTimeseriesGroupDNSSECParamsQueryType = "LP"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMaila DNSTimeseriesGroupDNSSECParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMailb DNSTimeseriesGroupDNSSECParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMB DNSTimeseriesGroupDNSSECParamsQueryType = "MB"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMd DNSTimeseriesGroupDNSSECParamsQueryType = "MD"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMf DNSTimeseriesGroupDNSSECParamsQueryType = "MF"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMg DNSTimeseriesGroupDNSSECParamsQueryType = "MG"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMinfo DNSTimeseriesGroupDNSSECParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMr DNSTimeseriesGroupDNSSECParamsQueryType = "MR"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeMX DNSTimeseriesGroupDNSSECParamsQueryType = "MX"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNAPTR DNSTimeseriesGroupDNSSECParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNb DNSTimeseriesGroupDNSSECParamsQueryType = "NB"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNbstat DNSTimeseriesGroupDNSSECParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNid DNSTimeseriesGroupDNSSECParamsQueryType = "NID"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNimloc DNSTimeseriesGroupDNSSECParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNinfo DNSTimeseriesGroupDNSSECParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNS DNSTimeseriesGroupDNSSECParamsQueryType = "NS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNsap DNSTimeseriesGroupDNSSECParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNsec DNSTimeseriesGroupDNSSECParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNsec3 DNSTimeseriesGroupDNSSECParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNsec3Param DNSTimeseriesGroupDNSSECParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNull DNSTimeseriesGroupDNSSECParamsQueryType = "NULL"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeNxt DNSTimeseriesGroupDNSSECParamsQueryType = "NXT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeOpenpgpkey DNSTimeseriesGroupDNSSECParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeOpt DNSTimeseriesGroupDNSSECParamsQueryType = "OPT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypePTR DNSTimeseriesGroupDNSSECParamsQueryType = "PTR"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypePx DNSTimeseriesGroupDNSSECParamsQueryType = "PX"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeRkey DNSTimeseriesGroupDNSSECParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeRp DNSTimeseriesGroupDNSSECParamsQueryType = "RP"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeRrsig DNSTimeseriesGroupDNSSECParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeRt DNSTimeseriesGroupDNSSECParamsQueryType = "RT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSig DNSTimeseriesGroupDNSSECParamsQueryType = "SIG"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSink DNSTimeseriesGroupDNSSECParamsQueryType = "SINK"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSMIMEA DNSTimeseriesGroupDNSSECParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSOA DNSTimeseriesGroupDNSSECParamsQueryType = "SOA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSPF DNSTimeseriesGroupDNSSECParamsQueryType = "SPF"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSRV DNSTimeseriesGroupDNSSECParamsQueryType = "SRV"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSSHFP DNSTimeseriesGroupDNSSECParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeSVCB DNSTimeseriesGroupDNSSECParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTa DNSTimeseriesGroupDNSSECParamsQueryType = "TA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTalink DNSTimeseriesGroupDNSSECParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTkey DNSTimeseriesGroupDNSSECParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTLSA DNSTimeseriesGroupDNSSECParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTSIG DNSTimeseriesGroupDNSSECParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeTXT DNSTimeseriesGroupDNSSECParamsQueryType = "TXT"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeUinfo DNSTimeseriesGroupDNSSECParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeUID DNSTimeseriesGroupDNSSECParamsQueryType = "UID"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeUnspec DNSTimeseriesGroupDNSSECParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeURI DNSTimeseriesGroupDNSSECParamsQueryType = "URI"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeWks DNSTimeseriesGroupDNSSECParamsQueryType = "WKS"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeX25 DNSTimeseriesGroupDNSSECParamsQueryType = "X25"` - `const DNSTimeseriesGroupDNSSECParamsQueryTypeZonemd DNSTimeseriesGroupDNSSECParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupDNSSECParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNoerror DNSTimeseriesGroupDNSSECParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeFormerr DNSTimeseriesGroupDNSSECParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeServfail DNSTimeseriesGroupDNSSECParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNxdomain DNSTimeseriesGroupDNSSECParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNotimp DNSTimeseriesGroupDNSSECParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeRefused DNSTimeseriesGroupDNSSECParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeYxdomain DNSTimeseriesGroupDNSSECParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeYxrrset DNSTimeseriesGroupDNSSECParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNxrrset DNSTimeseriesGroupDNSSECParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNotauth DNSTimeseriesGroupDNSSECParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeNotzone DNSTimeseriesGroupDNSSECParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadsig DNSTimeseriesGroupDNSSECParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadkey DNSTimeseriesGroupDNSSECParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadtime DNSTimeseriesGroupDNSSECParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadmode DNSTimeseriesGroupDNSSECParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadname DNSTimeseriesGroupDNSSECParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadalg DNSTimeseriesGroupDNSSECParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadtrunc DNSTimeseriesGroupDNSSECParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupDNSSECParamsResponseCodeBadcookie DNSTimeseriesGroupDNSSECParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupDNSSECResponse struct{…}` - `Meta DNSTimeseriesGroupDNSSECResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupDNSSECResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupDNSSECResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupDNSSECResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupDNSSECResponseMetaAggIntervalOneHour DNSTimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupDNSSECResponseMetaAggIntervalOneDay DNSTimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupDNSSECResponseMetaAggIntervalOneWeek DNSTimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupDNSSECResponseMetaAggIntervalOneMonth DNSTimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupDNSSECResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupDNSSECResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationPercentage DNSTimeseriesGroupDNSSECResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationMin0Max DNSTimeseriesGroupDNSSECResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationMinMax DNSTimeseriesGroupDNSSECResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationRawValues DNSTimeseriesGroupDNSSECResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationPercentageChange DNSTimeseriesGroupDNSSECResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationRollingAverage DNSTimeseriesGroupDNSSECResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupDNSSECResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupDNSSECResponseMetaNormalizationRatio DNSTimeseriesGroupDNSSECResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupDNSSECResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupDNSSECResponseSerie0` - `Insecure []string` - `Invalid []string` - `Other []string` - `Secure []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.DNSSEC(context.TODO(), radar.DNSTimeseriesGroupDNSSECParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.DNSSECAware(ctx, query) (*DNSTimeseriesGroupDNSSECAwareResponse, error)` **get** `/radar/dns/timeseries_groups/dnssec_aware` Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness over time. ### Parameters - `query DNSTimeseriesGroupDNSSECAwareParams` - `AggInterval param.Field[DNSTimeseriesGroupDNSSECAwareParamsAggInterval]` 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/). - `const DNSTimeseriesGroupDNSSECAwareParamsAggInterval15m DNSTimeseriesGroupDNSSECAwareParamsAggInterval = "15m"` - `const DNSTimeseriesGroupDNSSECAwareParamsAggInterval1h DNSTimeseriesGroupDNSSECAwareParamsAggInterval = "1h"` - `const DNSTimeseriesGroupDNSSECAwareParamsAggInterval1d DNSTimeseriesGroupDNSSECAwareParamsAggInterval = "1d"` - `const DNSTimeseriesGroupDNSSECAwareParamsAggInterval1w DNSTimeseriesGroupDNSSECAwareParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupDNSSECAwareParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupDNSSECAwareParamsFormatJson DNSTimeseriesGroupDNSSECAwareParamsFormat = "JSON"` - `const DNSTimeseriesGroupDNSSECAwareParamsFormatCsv DNSTimeseriesGroupDNSSECAwareParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupDNSSECAwareParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupDNSSECAwareParamsProtocolUdp DNSTimeseriesGroupDNSSECAwareParamsProtocol = "UDP"` - `const DNSTimeseriesGroupDNSSECAwareParamsProtocolTCP DNSTimeseriesGroupDNSSECAwareParamsProtocol = "TCP"` - `const DNSTimeseriesGroupDNSSECAwareParamsProtocolHTTPS DNSTimeseriesGroupDNSSECAwareParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupDNSSECAwareParamsProtocolTLS DNSTimeseriesGroupDNSSECAwareParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupDNSSECAwareParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "A"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeAAAA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeA6 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "A6"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeAfsdb DNSTimeseriesGroupDNSSECAwareParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeAny DNSTimeseriesGroupDNSSECAwareParamsQueryType = "ANY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeApl DNSTimeseriesGroupDNSSECAwareParamsQueryType = "APL"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeAtma DNSTimeseriesGroupDNSSECAwareParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeAXFR DNSTimeseriesGroupDNSSECAwareParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCAA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CAA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCdnskey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCds DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CDS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCERT DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CERT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCNAME DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeCsync DNSTimeseriesGroupDNSSECAwareParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDhcid DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDlv DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DLV"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDname DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDNSKEY DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDoa DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DOA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeDS DNSTimeseriesGroupDNSSECAwareParamsQueryType = "DS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeEid DNSTimeseriesGroupDNSSECAwareParamsQueryType = "EID"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeEui48 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeEui64 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeGpos DNSTimeseriesGroupDNSSECAwareParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeGid DNSTimeseriesGroupDNSSECAwareParamsQueryType = "GID"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeHinfo DNSTimeseriesGroupDNSSECAwareParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeHip DNSTimeseriesGroupDNSSECAwareParamsQueryType = "HIP"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeHTTPS DNSTimeseriesGroupDNSSECAwareParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeIpseckey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeIsdn DNSTimeseriesGroupDNSSECAwareParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeIxfr DNSTimeseriesGroupDNSSECAwareParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeKey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "KEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeKx DNSTimeseriesGroupDNSSECAwareParamsQueryType = "KX"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeL32 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "L32"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeL64 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "L64"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeLOC DNSTimeseriesGroupDNSSECAwareParamsQueryType = "LOC"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeLp DNSTimeseriesGroupDNSSECAwareParamsQueryType = "LP"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMaila DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMailb DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMB DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MB"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMd DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MD"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMf DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MF"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMg DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MG"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMinfo DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMr DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MR"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeMX DNSTimeseriesGroupDNSSECAwareParamsQueryType = "MX"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNAPTR DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNb DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NB"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNbstat DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNid DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NID"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNimloc DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNinfo DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNS DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNsap DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNsec DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNsec3 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNsec3Param DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNull DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NULL"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeNxt DNSTimeseriesGroupDNSSECAwareParamsQueryType = "NXT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeOpenpgpkey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeOpt DNSTimeseriesGroupDNSSECAwareParamsQueryType = "OPT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypePTR DNSTimeseriesGroupDNSSECAwareParamsQueryType = "PTR"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypePx DNSTimeseriesGroupDNSSECAwareParamsQueryType = "PX"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeRkey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeRp DNSTimeseriesGroupDNSSECAwareParamsQueryType = "RP"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeRrsig DNSTimeseriesGroupDNSSECAwareParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeRt DNSTimeseriesGroupDNSSECAwareParamsQueryType = "RT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSig DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SIG"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSink DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SINK"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSMIMEA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSOA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SOA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSPF DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SPF"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSRV DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SRV"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSSHFP DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeSVCB DNSTimeseriesGroupDNSSECAwareParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTa DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTalink DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTkey DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTLSA DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTSIG DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeTXT DNSTimeseriesGroupDNSSECAwareParamsQueryType = "TXT"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeUinfo DNSTimeseriesGroupDNSSECAwareParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeUID DNSTimeseriesGroupDNSSECAwareParamsQueryType = "UID"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeUnspec DNSTimeseriesGroupDNSSECAwareParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeURI DNSTimeseriesGroupDNSSECAwareParamsQueryType = "URI"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeWks DNSTimeseriesGroupDNSSECAwareParamsQueryType = "WKS"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeX25 DNSTimeseriesGroupDNSSECAwareParamsQueryType = "X25"` - `const DNSTimeseriesGroupDNSSECAwareParamsQueryTypeZonemd DNSTimeseriesGroupDNSSECAwareParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupDNSSECAwareParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNoerror DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeFormerr DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeServfail DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNxdomain DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNotimp DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeRefused DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeYxdomain DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeYxrrset DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNxrrset DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNotauth DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeNotzone DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadsig DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadkey DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadtime DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadmode DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadname DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadalg DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadtrunc DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupDNSSECAwareParamsResponseCodeBadcookie DNSTimeseriesGroupDNSSECAwareParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupDNSSECAwareResponse struct{…}` - `Meta DNSTimeseriesGroupDNSSECAwareResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupDNSSECAwareResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaAggIntervalOneHour DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaAggIntervalOneDay DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaAggIntervalOneWeek DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaAggIntervalOneMonth DNSTimeseriesGroupDNSSECAwareResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupDNSSECAwareResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupDNSSECAwareResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationPercentage DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationMin0Max DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationMinMax DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationRawValues DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationPercentageChange DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationRollingAverage DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupDNSSECAwareResponseMetaNormalizationRatio DNSTimeseriesGroupDNSSECAwareResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupDNSSECAwareResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupDNSSECAwareResponseSerie0` - `NotSupported []string` - `Supported []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.DNSSECAware(context.TODO(), radar.DNSTimeseriesGroupDNSSECAwareParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.DNSSECE2E(ctx, query) (*DNSTimeseriesGroupDnssece2EResponse, error)` **get** `/radar/dns/timeseries_groups/dnssec_e2e` Retrieves the distribution of DNSSEC-validated answers by end-to-end security status over time. ### Parameters - `query DNSTimeseriesGroupDNSSECE2EParams` - `AggInterval param.Field[DNSTimeseriesGroupDnssece2EParamsAggInterval]` 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/). - `const DNSTimeseriesGroupDnssece2EParamsAggInterval15m DNSTimeseriesGroupDnssece2EParamsAggInterval = "15m"` - `const DNSTimeseriesGroupDnssece2EParamsAggInterval1h DNSTimeseriesGroupDnssece2EParamsAggInterval = "1h"` - `const DNSTimeseriesGroupDnssece2EParamsAggInterval1d DNSTimeseriesGroupDnssece2EParamsAggInterval = "1d"` - `const DNSTimeseriesGroupDnssece2EParamsAggInterval1w DNSTimeseriesGroupDnssece2EParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupDnssece2EParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupDnssece2EParamsFormatJson DNSTimeseriesGroupDnssece2EParamsFormat = "JSON"` - `const DNSTimeseriesGroupDnssece2EParamsFormatCsv DNSTimeseriesGroupDnssece2EParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupDnssece2EParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupDnssece2EParamsProtocolUdp DNSTimeseriesGroupDnssece2EParamsProtocol = "UDP"` - `const DNSTimeseriesGroupDnssece2EParamsProtocolTCP DNSTimeseriesGroupDnssece2EParamsProtocol = "TCP"` - `const DNSTimeseriesGroupDnssece2EParamsProtocolHTTPS DNSTimeseriesGroupDnssece2EParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupDnssece2EParamsProtocolTLS DNSTimeseriesGroupDnssece2EParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupDnssece2EParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeA DNSTimeseriesGroupDnssece2EParamsQueryType = "A"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeAAAA DNSTimeseriesGroupDnssece2EParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeA6 DNSTimeseriesGroupDnssece2EParamsQueryType = "A6"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeAfsdb DNSTimeseriesGroupDnssece2EParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeAny DNSTimeseriesGroupDnssece2EParamsQueryType = "ANY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeApl DNSTimeseriesGroupDnssece2EParamsQueryType = "APL"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeAtma DNSTimeseriesGroupDnssece2EParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeAXFR DNSTimeseriesGroupDnssece2EParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCAA DNSTimeseriesGroupDnssece2EParamsQueryType = "CAA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCdnskey DNSTimeseriesGroupDnssece2EParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCds DNSTimeseriesGroupDnssece2EParamsQueryType = "CDS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCERT DNSTimeseriesGroupDnssece2EParamsQueryType = "CERT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCNAME DNSTimeseriesGroupDnssece2EParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeCsync DNSTimeseriesGroupDnssece2EParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDhcid DNSTimeseriesGroupDnssece2EParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDlv DNSTimeseriesGroupDnssece2EParamsQueryType = "DLV"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDname DNSTimeseriesGroupDnssece2EParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDNSKEY DNSTimeseriesGroupDnssece2EParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDoa DNSTimeseriesGroupDnssece2EParamsQueryType = "DOA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeDS DNSTimeseriesGroupDnssece2EParamsQueryType = "DS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeEid DNSTimeseriesGroupDnssece2EParamsQueryType = "EID"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeEui48 DNSTimeseriesGroupDnssece2EParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeEui64 DNSTimeseriesGroupDnssece2EParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeGpos DNSTimeseriesGroupDnssece2EParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeGid DNSTimeseriesGroupDnssece2EParamsQueryType = "GID"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeHinfo DNSTimeseriesGroupDnssece2EParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeHip DNSTimeseriesGroupDnssece2EParamsQueryType = "HIP"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeHTTPS DNSTimeseriesGroupDnssece2EParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeIpseckey DNSTimeseriesGroupDnssece2EParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeIsdn DNSTimeseriesGroupDnssece2EParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeIxfr DNSTimeseriesGroupDnssece2EParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeKey DNSTimeseriesGroupDnssece2EParamsQueryType = "KEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeKx DNSTimeseriesGroupDnssece2EParamsQueryType = "KX"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeL32 DNSTimeseriesGroupDnssece2EParamsQueryType = "L32"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeL64 DNSTimeseriesGroupDnssece2EParamsQueryType = "L64"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeLOC DNSTimeseriesGroupDnssece2EParamsQueryType = "LOC"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeLp DNSTimeseriesGroupDnssece2EParamsQueryType = "LP"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMaila DNSTimeseriesGroupDnssece2EParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMailb DNSTimeseriesGroupDnssece2EParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMB DNSTimeseriesGroupDnssece2EParamsQueryType = "MB"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMd DNSTimeseriesGroupDnssece2EParamsQueryType = "MD"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMf DNSTimeseriesGroupDnssece2EParamsQueryType = "MF"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMg DNSTimeseriesGroupDnssece2EParamsQueryType = "MG"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMinfo DNSTimeseriesGroupDnssece2EParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMr DNSTimeseriesGroupDnssece2EParamsQueryType = "MR"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeMX DNSTimeseriesGroupDnssece2EParamsQueryType = "MX"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNAPTR DNSTimeseriesGroupDnssece2EParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNb DNSTimeseriesGroupDnssece2EParamsQueryType = "NB"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNbstat DNSTimeseriesGroupDnssece2EParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNid DNSTimeseriesGroupDnssece2EParamsQueryType = "NID"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNimloc DNSTimeseriesGroupDnssece2EParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNinfo DNSTimeseriesGroupDnssece2EParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNS DNSTimeseriesGroupDnssece2EParamsQueryType = "NS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNsap DNSTimeseriesGroupDnssece2EParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNsec DNSTimeseriesGroupDnssece2EParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNsec3 DNSTimeseriesGroupDnssece2EParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNsec3Param DNSTimeseriesGroupDnssece2EParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNull DNSTimeseriesGroupDnssece2EParamsQueryType = "NULL"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeNxt DNSTimeseriesGroupDnssece2EParamsQueryType = "NXT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeOpenpgpkey DNSTimeseriesGroupDnssece2EParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeOpt DNSTimeseriesGroupDnssece2EParamsQueryType = "OPT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypePTR DNSTimeseriesGroupDnssece2EParamsQueryType = "PTR"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypePx DNSTimeseriesGroupDnssece2EParamsQueryType = "PX"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeRkey DNSTimeseriesGroupDnssece2EParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeRp DNSTimeseriesGroupDnssece2EParamsQueryType = "RP"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeRrsig DNSTimeseriesGroupDnssece2EParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeRt DNSTimeseriesGroupDnssece2EParamsQueryType = "RT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSig DNSTimeseriesGroupDnssece2EParamsQueryType = "SIG"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSink DNSTimeseriesGroupDnssece2EParamsQueryType = "SINK"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSMIMEA DNSTimeseriesGroupDnssece2EParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSOA DNSTimeseriesGroupDnssece2EParamsQueryType = "SOA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSPF DNSTimeseriesGroupDnssece2EParamsQueryType = "SPF"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSRV DNSTimeseriesGroupDnssece2EParamsQueryType = "SRV"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSSHFP DNSTimeseriesGroupDnssece2EParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeSVCB DNSTimeseriesGroupDnssece2EParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTa DNSTimeseriesGroupDnssece2EParamsQueryType = "TA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTalink DNSTimeseriesGroupDnssece2EParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTkey DNSTimeseriesGroupDnssece2EParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTLSA DNSTimeseriesGroupDnssece2EParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTSIG DNSTimeseriesGroupDnssece2EParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeTXT DNSTimeseriesGroupDnssece2EParamsQueryType = "TXT"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeUinfo DNSTimeseriesGroupDnssece2EParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeUID DNSTimeseriesGroupDnssece2EParamsQueryType = "UID"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeUnspec DNSTimeseriesGroupDnssece2EParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeURI DNSTimeseriesGroupDnssece2EParamsQueryType = "URI"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeWks DNSTimeseriesGroupDnssece2EParamsQueryType = "WKS"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeX25 DNSTimeseriesGroupDnssece2EParamsQueryType = "X25"` - `const DNSTimeseriesGroupDnssece2EParamsQueryTypeZonemd DNSTimeseriesGroupDnssece2EParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupDnssece2EParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNoerror DNSTimeseriesGroupDnssece2EParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeFormerr DNSTimeseriesGroupDnssece2EParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeServfail DNSTimeseriesGroupDnssece2EParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNxdomain DNSTimeseriesGroupDnssece2EParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNotimp DNSTimeseriesGroupDnssece2EParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeRefused DNSTimeseriesGroupDnssece2EParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeYxdomain DNSTimeseriesGroupDnssece2EParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeYxrrset DNSTimeseriesGroupDnssece2EParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNxrrset DNSTimeseriesGroupDnssece2EParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNotauth DNSTimeseriesGroupDnssece2EParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeNotzone DNSTimeseriesGroupDnssece2EParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadsig DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadkey DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadtime DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadmode DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadname DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadalg DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadtrunc DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupDnssece2EParamsResponseCodeBadcookie DNSTimeseriesGroupDnssece2EParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupDnssece2EResponse struct{…}` - `Meta DNSTimeseriesGroupDnssece2EResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupDnssece2EResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupDnssece2EResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupDnssece2EResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupDnssece2EResponseMetaAggIntervalOneHour DNSTimeseriesGroupDnssece2EResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupDnssece2EResponseMetaAggIntervalOneDay DNSTimeseriesGroupDnssece2EResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupDnssece2EResponseMetaAggIntervalOneWeek DNSTimeseriesGroupDnssece2EResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupDnssece2EResponseMetaAggIntervalOneMonth DNSTimeseriesGroupDnssece2EResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupDnssece2EResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupDnssece2EResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupDnssece2EResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationPercentage DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationMin0Max DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationMinMax DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationRawValues DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationPercentageChange DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationRollingAverage DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupDnssece2EResponseMetaNormalizationRatio DNSTimeseriesGroupDnssece2EResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupDnssece2EResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupDnssece2EResponseSerie0` - `Negative []string` - `Positive []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.DNSSECE2E(context.TODO(), radar.DNSTimeseriesGroupDNSSECE2EParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.IPVersion(ctx, query) (*DNSTimeseriesGroupIPVersionResponse, error)` **get** `/radar/dns/timeseries_groups/ip_version` Retrieves the distribution of DNS queries by IP version over time. ### Parameters - `query DNSTimeseriesGroupIPVersionParams` - `AggInterval param.Field[DNSTimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const DNSTimeseriesGroupIPVersionParamsAggInterval15m DNSTimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const DNSTimeseriesGroupIPVersionParamsAggInterval1h DNSTimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const DNSTimeseriesGroupIPVersionParamsAggInterval1d DNSTimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const DNSTimeseriesGroupIPVersionParamsAggInterval1w DNSTimeseriesGroupIPVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupIPVersionParamsFormatJson DNSTimeseriesGroupIPVersionParamsFormat = "JSON"` - `const DNSTimeseriesGroupIPVersionParamsFormatCsv DNSTimeseriesGroupIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupIPVersionParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupIPVersionParamsProtocolUdp DNSTimeseriesGroupIPVersionParamsProtocol = "UDP"` - `const DNSTimeseriesGroupIPVersionParamsProtocolTCP DNSTimeseriesGroupIPVersionParamsProtocol = "TCP"` - `const DNSTimeseriesGroupIPVersionParamsProtocolHTTPS DNSTimeseriesGroupIPVersionParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupIPVersionParamsProtocolTLS DNSTimeseriesGroupIPVersionParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupIPVersionParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupIPVersionParamsQueryTypeA DNSTimeseriesGroupIPVersionParamsQueryType = "A"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeAAAA DNSTimeseriesGroupIPVersionParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeA6 DNSTimeseriesGroupIPVersionParamsQueryType = "A6"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeAfsdb DNSTimeseriesGroupIPVersionParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeAny DNSTimeseriesGroupIPVersionParamsQueryType = "ANY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeApl DNSTimeseriesGroupIPVersionParamsQueryType = "APL"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeAtma DNSTimeseriesGroupIPVersionParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeAXFR DNSTimeseriesGroupIPVersionParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCAA DNSTimeseriesGroupIPVersionParamsQueryType = "CAA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCdnskey DNSTimeseriesGroupIPVersionParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCds DNSTimeseriesGroupIPVersionParamsQueryType = "CDS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCERT DNSTimeseriesGroupIPVersionParamsQueryType = "CERT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCNAME DNSTimeseriesGroupIPVersionParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeCsync DNSTimeseriesGroupIPVersionParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDhcid DNSTimeseriesGroupIPVersionParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDlv DNSTimeseriesGroupIPVersionParamsQueryType = "DLV"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDname DNSTimeseriesGroupIPVersionParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDNSKEY DNSTimeseriesGroupIPVersionParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDoa DNSTimeseriesGroupIPVersionParamsQueryType = "DOA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeDS DNSTimeseriesGroupIPVersionParamsQueryType = "DS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeEid DNSTimeseriesGroupIPVersionParamsQueryType = "EID"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeEui48 DNSTimeseriesGroupIPVersionParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeEui64 DNSTimeseriesGroupIPVersionParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeGpos DNSTimeseriesGroupIPVersionParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeGid DNSTimeseriesGroupIPVersionParamsQueryType = "GID"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeHinfo DNSTimeseriesGroupIPVersionParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeHip DNSTimeseriesGroupIPVersionParamsQueryType = "HIP"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeHTTPS DNSTimeseriesGroupIPVersionParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeIpseckey DNSTimeseriesGroupIPVersionParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeIsdn DNSTimeseriesGroupIPVersionParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeIxfr DNSTimeseriesGroupIPVersionParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeKey DNSTimeseriesGroupIPVersionParamsQueryType = "KEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeKx DNSTimeseriesGroupIPVersionParamsQueryType = "KX"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeL32 DNSTimeseriesGroupIPVersionParamsQueryType = "L32"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeL64 DNSTimeseriesGroupIPVersionParamsQueryType = "L64"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeLOC DNSTimeseriesGroupIPVersionParamsQueryType = "LOC"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeLp DNSTimeseriesGroupIPVersionParamsQueryType = "LP"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMaila DNSTimeseriesGroupIPVersionParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMailb DNSTimeseriesGroupIPVersionParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMB DNSTimeseriesGroupIPVersionParamsQueryType = "MB"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMd DNSTimeseriesGroupIPVersionParamsQueryType = "MD"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMf DNSTimeseriesGroupIPVersionParamsQueryType = "MF"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMg DNSTimeseriesGroupIPVersionParamsQueryType = "MG"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMinfo DNSTimeseriesGroupIPVersionParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMr DNSTimeseriesGroupIPVersionParamsQueryType = "MR"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeMX DNSTimeseriesGroupIPVersionParamsQueryType = "MX"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNAPTR DNSTimeseriesGroupIPVersionParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNb DNSTimeseriesGroupIPVersionParamsQueryType = "NB"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNbstat DNSTimeseriesGroupIPVersionParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNid DNSTimeseriesGroupIPVersionParamsQueryType = "NID"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNimloc DNSTimeseriesGroupIPVersionParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNinfo DNSTimeseriesGroupIPVersionParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNS DNSTimeseriesGroupIPVersionParamsQueryType = "NS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNsap DNSTimeseriesGroupIPVersionParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNsec DNSTimeseriesGroupIPVersionParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNsec3 DNSTimeseriesGroupIPVersionParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNsec3Param DNSTimeseriesGroupIPVersionParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNull DNSTimeseriesGroupIPVersionParamsQueryType = "NULL"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeNxt DNSTimeseriesGroupIPVersionParamsQueryType = "NXT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeOpenpgpkey DNSTimeseriesGroupIPVersionParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeOpt DNSTimeseriesGroupIPVersionParamsQueryType = "OPT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypePTR DNSTimeseriesGroupIPVersionParamsQueryType = "PTR"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypePx DNSTimeseriesGroupIPVersionParamsQueryType = "PX"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeRkey DNSTimeseriesGroupIPVersionParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeRp DNSTimeseriesGroupIPVersionParamsQueryType = "RP"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeRrsig DNSTimeseriesGroupIPVersionParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeRt DNSTimeseriesGroupIPVersionParamsQueryType = "RT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSig DNSTimeseriesGroupIPVersionParamsQueryType = "SIG"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSink DNSTimeseriesGroupIPVersionParamsQueryType = "SINK"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSMIMEA DNSTimeseriesGroupIPVersionParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSOA DNSTimeseriesGroupIPVersionParamsQueryType = "SOA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSPF DNSTimeseriesGroupIPVersionParamsQueryType = "SPF"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSRV DNSTimeseriesGroupIPVersionParamsQueryType = "SRV"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSSHFP DNSTimeseriesGroupIPVersionParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeSVCB DNSTimeseriesGroupIPVersionParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTa DNSTimeseriesGroupIPVersionParamsQueryType = "TA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTalink DNSTimeseriesGroupIPVersionParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTkey DNSTimeseriesGroupIPVersionParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTLSA DNSTimeseriesGroupIPVersionParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTSIG DNSTimeseriesGroupIPVersionParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeTXT DNSTimeseriesGroupIPVersionParamsQueryType = "TXT"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeUinfo DNSTimeseriesGroupIPVersionParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeUID DNSTimeseriesGroupIPVersionParamsQueryType = "UID"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeUnspec DNSTimeseriesGroupIPVersionParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeURI DNSTimeseriesGroupIPVersionParamsQueryType = "URI"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeWks DNSTimeseriesGroupIPVersionParamsQueryType = "WKS"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeX25 DNSTimeseriesGroupIPVersionParamsQueryType = "X25"` - `const DNSTimeseriesGroupIPVersionParamsQueryTypeZonemd DNSTimeseriesGroupIPVersionParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupIPVersionParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNoerror DNSTimeseriesGroupIPVersionParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeFormerr DNSTimeseriesGroupIPVersionParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeServfail DNSTimeseriesGroupIPVersionParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNxdomain DNSTimeseriesGroupIPVersionParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNotimp DNSTimeseriesGroupIPVersionParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeRefused DNSTimeseriesGroupIPVersionParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeYxdomain DNSTimeseriesGroupIPVersionParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeYxrrset DNSTimeseriesGroupIPVersionParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNxrrset DNSTimeseriesGroupIPVersionParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNotauth DNSTimeseriesGroupIPVersionParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeNotzone DNSTimeseriesGroupIPVersionParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadsig DNSTimeseriesGroupIPVersionParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadkey DNSTimeseriesGroupIPVersionParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadtime DNSTimeseriesGroupIPVersionParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadmode DNSTimeseriesGroupIPVersionParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadname DNSTimeseriesGroupIPVersionParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadalg DNSTimeseriesGroupIPVersionParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadtrunc DNSTimeseriesGroupIPVersionParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupIPVersionParamsResponseCodeBadcookie DNSTimeseriesGroupIPVersionParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupIPVersionResponse struct{…}` - `Meta DNSTimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupIPVersionResponseMetaAggIntervalOneHour DNSTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupIPVersionResponseMetaAggIntervalOneDay DNSTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek DNSTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth DNSTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationPercentage DNSTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationMin0Max DNSTimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationMinMax DNSTimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationRawValues DNSTimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange DNSTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage DNSTimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupIPVersionResponseMetaNormalizationRatio DNSTimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.IPVersion(context.TODO(), radar.DNSTimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.MatchingAnswer(ctx, query) (*DNSTimeseriesGroupMatchingAnswerResponse, error)` **get** `/radar/dns/timeseries_groups/matching_answer` Retrieves the distribution of DNS queries by matching answers over time. ### Parameters - `query DNSTimeseriesGroupMatchingAnswerParams` - `AggInterval param.Field[DNSTimeseriesGroupMatchingAnswerParamsAggInterval]` 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/). - `const DNSTimeseriesGroupMatchingAnswerParamsAggInterval15m DNSTimeseriesGroupMatchingAnswerParamsAggInterval = "15m"` - `const DNSTimeseriesGroupMatchingAnswerParamsAggInterval1h DNSTimeseriesGroupMatchingAnswerParamsAggInterval = "1h"` - `const DNSTimeseriesGroupMatchingAnswerParamsAggInterval1d DNSTimeseriesGroupMatchingAnswerParamsAggInterval = "1d"` - `const DNSTimeseriesGroupMatchingAnswerParamsAggInterval1w DNSTimeseriesGroupMatchingAnswerParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupMatchingAnswerParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupMatchingAnswerParamsFormatJson DNSTimeseriesGroupMatchingAnswerParamsFormat = "JSON"` - `const DNSTimeseriesGroupMatchingAnswerParamsFormatCsv DNSTimeseriesGroupMatchingAnswerParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupMatchingAnswerParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupMatchingAnswerParamsProtocolUdp DNSTimeseriesGroupMatchingAnswerParamsProtocol = "UDP"` - `const DNSTimeseriesGroupMatchingAnswerParamsProtocolTCP DNSTimeseriesGroupMatchingAnswerParamsProtocol = "TCP"` - `const DNSTimeseriesGroupMatchingAnswerParamsProtocolHTTPS DNSTimeseriesGroupMatchingAnswerParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupMatchingAnswerParamsProtocolTLS DNSTimeseriesGroupMatchingAnswerParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupMatchingAnswerParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "A"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeAAAA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeA6 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "A6"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeAfsdb DNSTimeseriesGroupMatchingAnswerParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeAny DNSTimeseriesGroupMatchingAnswerParamsQueryType = "ANY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeApl DNSTimeseriesGroupMatchingAnswerParamsQueryType = "APL"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeAtma DNSTimeseriesGroupMatchingAnswerParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeAXFR DNSTimeseriesGroupMatchingAnswerParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCAA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CAA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCdnskey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCds DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CDS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCERT DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CERT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCNAME DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeCsync DNSTimeseriesGroupMatchingAnswerParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDhcid DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDlv DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DLV"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDname DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDNSKEY DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDoa DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DOA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeDS DNSTimeseriesGroupMatchingAnswerParamsQueryType = "DS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeEid DNSTimeseriesGroupMatchingAnswerParamsQueryType = "EID"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeEui48 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeEui64 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeGpos DNSTimeseriesGroupMatchingAnswerParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeGid DNSTimeseriesGroupMatchingAnswerParamsQueryType = "GID"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeHinfo DNSTimeseriesGroupMatchingAnswerParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeHip DNSTimeseriesGroupMatchingAnswerParamsQueryType = "HIP"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeHTTPS DNSTimeseriesGroupMatchingAnswerParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeIpseckey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeIsdn DNSTimeseriesGroupMatchingAnswerParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeIxfr DNSTimeseriesGroupMatchingAnswerParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeKey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "KEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeKx DNSTimeseriesGroupMatchingAnswerParamsQueryType = "KX"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeL32 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "L32"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeL64 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "L64"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeLOC DNSTimeseriesGroupMatchingAnswerParamsQueryType = "LOC"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeLp DNSTimeseriesGroupMatchingAnswerParamsQueryType = "LP"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMaila DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMailb DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMB DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MB"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMd DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MD"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMf DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MF"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMg DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MG"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMinfo DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMr DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MR"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeMX DNSTimeseriesGroupMatchingAnswerParamsQueryType = "MX"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNAPTR DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNb DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NB"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNbstat DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNid DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NID"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNimloc DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNinfo DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNS DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNsap DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNsec DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNsec3 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNsec3Param DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNull DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NULL"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeNxt DNSTimeseriesGroupMatchingAnswerParamsQueryType = "NXT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeOpenpgpkey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeOpt DNSTimeseriesGroupMatchingAnswerParamsQueryType = "OPT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypePTR DNSTimeseriesGroupMatchingAnswerParamsQueryType = "PTR"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypePx DNSTimeseriesGroupMatchingAnswerParamsQueryType = "PX"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeRkey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeRp DNSTimeseriesGroupMatchingAnswerParamsQueryType = "RP"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeRrsig DNSTimeseriesGroupMatchingAnswerParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeRt DNSTimeseriesGroupMatchingAnswerParamsQueryType = "RT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSig DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SIG"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSink DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SINK"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSMIMEA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSOA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SOA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSPF DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SPF"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSRV DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SRV"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSSHFP DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeSVCB DNSTimeseriesGroupMatchingAnswerParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTa DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTalink DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTkey DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTLSA DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTSIG DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeTXT DNSTimeseriesGroupMatchingAnswerParamsQueryType = "TXT"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeUinfo DNSTimeseriesGroupMatchingAnswerParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeUID DNSTimeseriesGroupMatchingAnswerParamsQueryType = "UID"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeUnspec DNSTimeseriesGroupMatchingAnswerParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeURI DNSTimeseriesGroupMatchingAnswerParamsQueryType = "URI"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeWks DNSTimeseriesGroupMatchingAnswerParamsQueryType = "WKS"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeX25 DNSTimeseriesGroupMatchingAnswerParamsQueryType = "X25"` - `const DNSTimeseriesGroupMatchingAnswerParamsQueryTypeZonemd DNSTimeseriesGroupMatchingAnswerParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupMatchingAnswerParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNoerror DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeFormerr DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeServfail DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNxdomain DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNotimp DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeRefused DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeYxdomain DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeYxrrset DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNxrrset DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNotauth DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeNotzone DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadsig DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadkey DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadtime DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadmode DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadname DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadalg DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadtrunc DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupMatchingAnswerParamsResponseCodeBadcookie DNSTimeseriesGroupMatchingAnswerParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupMatchingAnswerResponse struct{…}` - `Meta DNSTimeseriesGroupMatchingAnswerResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupMatchingAnswerResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaAggIntervalOneHour DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaAggIntervalOneDay DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaAggIntervalOneWeek DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaAggIntervalOneMonth DNSTimeseriesGroupMatchingAnswerResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupMatchingAnswerResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupMatchingAnswerResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationPercentage DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationMin0Max DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationMinMax DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationRawValues DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationPercentageChange DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationRollingAverage DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupMatchingAnswerResponseMetaNormalizationRatio DNSTimeseriesGroupMatchingAnswerResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupMatchingAnswerResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupMatchingAnswerResponseSerie0` - `Negative []string` - `Positive []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.MatchingAnswer(context.TODO(), radar.DNSTimeseriesGroupMatchingAnswerParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.Protocol(ctx, query) (*DNSTimeseriesGroupProtocolResponse, error)` **get** `/radar/dns/timeseries_groups/protocol` Retrieves the distribution of DNS queries by DNS transport protocol over time. ### Parameters - `query DNSTimeseriesGroupProtocolParams` - `AggInterval param.Field[DNSTimeseriesGroupProtocolParamsAggInterval]` 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/). - `const DNSTimeseriesGroupProtocolParamsAggInterval15m DNSTimeseriesGroupProtocolParamsAggInterval = "15m"` - `const DNSTimeseriesGroupProtocolParamsAggInterval1h DNSTimeseriesGroupProtocolParamsAggInterval = "1h"` - `const DNSTimeseriesGroupProtocolParamsAggInterval1d DNSTimeseriesGroupProtocolParamsAggInterval = "1d"` - `const DNSTimeseriesGroupProtocolParamsAggInterval1w DNSTimeseriesGroupProtocolParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupProtocolParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupProtocolParamsFormatJson DNSTimeseriesGroupProtocolParamsFormat = "JSON"` - `const DNSTimeseriesGroupProtocolParamsFormatCsv DNSTimeseriesGroupProtocolParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `QueryType param.Field[[]DNSTimeseriesGroupProtocolParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupProtocolParamsQueryTypeA DNSTimeseriesGroupProtocolParamsQueryType = "A"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeAAAA DNSTimeseriesGroupProtocolParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeA6 DNSTimeseriesGroupProtocolParamsQueryType = "A6"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeAfsdb DNSTimeseriesGroupProtocolParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeAny DNSTimeseriesGroupProtocolParamsQueryType = "ANY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeApl DNSTimeseriesGroupProtocolParamsQueryType = "APL"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeAtma DNSTimeseriesGroupProtocolParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeAXFR DNSTimeseriesGroupProtocolParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCAA DNSTimeseriesGroupProtocolParamsQueryType = "CAA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCdnskey DNSTimeseriesGroupProtocolParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCds DNSTimeseriesGroupProtocolParamsQueryType = "CDS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCERT DNSTimeseriesGroupProtocolParamsQueryType = "CERT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCNAME DNSTimeseriesGroupProtocolParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeCsync DNSTimeseriesGroupProtocolParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDhcid DNSTimeseriesGroupProtocolParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDlv DNSTimeseriesGroupProtocolParamsQueryType = "DLV"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDname DNSTimeseriesGroupProtocolParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDNSKEY DNSTimeseriesGroupProtocolParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDoa DNSTimeseriesGroupProtocolParamsQueryType = "DOA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeDS DNSTimeseriesGroupProtocolParamsQueryType = "DS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeEid DNSTimeseriesGroupProtocolParamsQueryType = "EID"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeEui48 DNSTimeseriesGroupProtocolParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeEui64 DNSTimeseriesGroupProtocolParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeGpos DNSTimeseriesGroupProtocolParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeGid DNSTimeseriesGroupProtocolParamsQueryType = "GID"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeHinfo DNSTimeseriesGroupProtocolParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeHip DNSTimeseriesGroupProtocolParamsQueryType = "HIP"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeHTTPS DNSTimeseriesGroupProtocolParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeIpseckey DNSTimeseriesGroupProtocolParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeIsdn DNSTimeseriesGroupProtocolParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeIxfr DNSTimeseriesGroupProtocolParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeKey DNSTimeseriesGroupProtocolParamsQueryType = "KEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeKx DNSTimeseriesGroupProtocolParamsQueryType = "KX"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeL32 DNSTimeseriesGroupProtocolParamsQueryType = "L32"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeL64 DNSTimeseriesGroupProtocolParamsQueryType = "L64"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeLOC DNSTimeseriesGroupProtocolParamsQueryType = "LOC"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeLp DNSTimeseriesGroupProtocolParamsQueryType = "LP"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMaila DNSTimeseriesGroupProtocolParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMailb DNSTimeseriesGroupProtocolParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMB DNSTimeseriesGroupProtocolParamsQueryType = "MB"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMd DNSTimeseriesGroupProtocolParamsQueryType = "MD"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMf DNSTimeseriesGroupProtocolParamsQueryType = "MF"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMg DNSTimeseriesGroupProtocolParamsQueryType = "MG"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMinfo DNSTimeseriesGroupProtocolParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMr DNSTimeseriesGroupProtocolParamsQueryType = "MR"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeMX DNSTimeseriesGroupProtocolParamsQueryType = "MX"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNAPTR DNSTimeseriesGroupProtocolParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNb DNSTimeseriesGroupProtocolParamsQueryType = "NB"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNbstat DNSTimeseriesGroupProtocolParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNid DNSTimeseriesGroupProtocolParamsQueryType = "NID"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNimloc DNSTimeseriesGroupProtocolParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNinfo DNSTimeseriesGroupProtocolParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNS DNSTimeseriesGroupProtocolParamsQueryType = "NS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNsap DNSTimeseriesGroupProtocolParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNsec DNSTimeseriesGroupProtocolParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNsec3 DNSTimeseriesGroupProtocolParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNsec3Param DNSTimeseriesGroupProtocolParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNull DNSTimeseriesGroupProtocolParamsQueryType = "NULL"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeNxt DNSTimeseriesGroupProtocolParamsQueryType = "NXT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeOpenpgpkey DNSTimeseriesGroupProtocolParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeOpt DNSTimeseriesGroupProtocolParamsQueryType = "OPT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypePTR DNSTimeseriesGroupProtocolParamsQueryType = "PTR"` - `const DNSTimeseriesGroupProtocolParamsQueryTypePx DNSTimeseriesGroupProtocolParamsQueryType = "PX"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeRkey DNSTimeseriesGroupProtocolParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeRp DNSTimeseriesGroupProtocolParamsQueryType = "RP"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeRrsig DNSTimeseriesGroupProtocolParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeRt DNSTimeseriesGroupProtocolParamsQueryType = "RT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSig DNSTimeseriesGroupProtocolParamsQueryType = "SIG"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSink DNSTimeseriesGroupProtocolParamsQueryType = "SINK"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSMIMEA DNSTimeseriesGroupProtocolParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSOA DNSTimeseriesGroupProtocolParamsQueryType = "SOA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSPF DNSTimeseriesGroupProtocolParamsQueryType = "SPF"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSRV DNSTimeseriesGroupProtocolParamsQueryType = "SRV"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSSHFP DNSTimeseriesGroupProtocolParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeSVCB DNSTimeseriesGroupProtocolParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTa DNSTimeseriesGroupProtocolParamsQueryType = "TA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTalink DNSTimeseriesGroupProtocolParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTkey DNSTimeseriesGroupProtocolParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTLSA DNSTimeseriesGroupProtocolParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTSIG DNSTimeseriesGroupProtocolParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeTXT DNSTimeseriesGroupProtocolParamsQueryType = "TXT"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeUinfo DNSTimeseriesGroupProtocolParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeUID DNSTimeseriesGroupProtocolParamsQueryType = "UID"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeUnspec DNSTimeseriesGroupProtocolParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeURI DNSTimeseriesGroupProtocolParamsQueryType = "URI"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeWks DNSTimeseriesGroupProtocolParamsQueryType = "WKS"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeX25 DNSTimeseriesGroupProtocolParamsQueryType = "X25"` - `const DNSTimeseriesGroupProtocolParamsQueryTypeZonemd DNSTimeseriesGroupProtocolParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupProtocolParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupProtocolParamsResponseCodeNoerror DNSTimeseriesGroupProtocolParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeFormerr DNSTimeseriesGroupProtocolParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeServfail DNSTimeseriesGroupProtocolParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeNxdomain DNSTimeseriesGroupProtocolParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeNotimp DNSTimeseriesGroupProtocolParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeRefused DNSTimeseriesGroupProtocolParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeYxdomain DNSTimeseriesGroupProtocolParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeYxrrset DNSTimeseriesGroupProtocolParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeNxrrset DNSTimeseriesGroupProtocolParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeNotauth DNSTimeseriesGroupProtocolParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeNotzone DNSTimeseriesGroupProtocolParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadsig DNSTimeseriesGroupProtocolParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadkey DNSTimeseriesGroupProtocolParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadtime DNSTimeseriesGroupProtocolParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadmode DNSTimeseriesGroupProtocolParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadname DNSTimeseriesGroupProtocolParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadalg DNSTimeseriesGroupProtocolParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadtrunc DNSTimeseriesGroupProtocolParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupProtocolParamsResponseCodeBadcookie DNSTimeseriesGroupProtocolParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupProtocolResponse struct{…}` - `Meta DNSTimeseriesGroupProtocolResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupProtocolResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupProtocolResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupProtocolResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupProtocolResponseMetaAggIntervalOneHour DNSTimeseriesGroupProtocolResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupProtocolResponseMetaAggIntervalOneDay DNSTimeseriesGroupProtocolResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupProtocolResponseMetaAggIntervalOneWeek DNSTimeseriesGroupProtocolResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupProtocolResponseMetaAggIntervalOneMonth DNSTimeseriesGroupProtocolResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupProtocolResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationPercentage DNSTimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationMin0Max DNSTimeseriesGroupProtocolResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationMinMax DNSTimeseriesGroupProtocolResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationRawValues DNSTimeseriesGroupProtocolResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationPercentageChange DNSTimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationRollingAverage DNSTimeseriesGroupProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupProtocolResponseMetaNormalizationRatio DNSTimeseriesGroupProtocolResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupProtocolResponseSerie0` - `HTTPS []string` - `TCP []string` - `TLS []string` - `Udp []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.Protocol(context.TODO(), radar.DNSTimeseriesGroupProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.QueryType(ctx, query) (*DNSTimeseriesGroupQueryTypeResponse, error)` **get** `/radar/dns/timeseries_groups/query_type` Retrieves the distribution of DNS queries by type over time. ### Parameters - `query DNSTimeseriesGroupQueryTypeParams` - `AggInterval param.Field[DNSTimeseriesGroupQueryTypeParamsAggInterval]` 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/). - `const DNSTimeseriesGroupQueryTypeParamsAggInterval15m DNSTimeseriesGroupQueryTypeParamsAggInterval = "15m"` - `const DNSTimeseriesGroupQueryTypeParamsAggInterval1h DNSTimeseriesGroupQueryTypeParamsAggInterval = "1h"` - `const DNSTimeseriesGroupQueryTypeParamsAggInterval1d DNSTimeseriesGroupQueryTypeParamsAggInterval = "1d"` - `const DNSTimeseriesGroupQueryTypeParamsAggInterval1w DNSTimeseriesGroupQueryTypeParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupQueryTypeParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupQueryTypeParamsFormatJson DNSTimeseriesGroupQueryTypeParamsFormat = "JSON"` - `const DNSTimeseriesGroupQueryTypeParamsFormatCsv DNSTimeseriesGroupQueryTypeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupQueryTypeParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupQueryTypeParamsProtocolUdp DNSTimeseriesGroupQueryTypeParamsProtocol = "UDP"` - `const DNSTimeseriesGroupQueryTypeParamsProtocolTCP DNSTimeseriesGroupQueryTypeParamsProtocol = "TCP"` - `const DNSTimeseriesGroupQueryTypeParamsProtocolHTTPS DNSTimeseriesGroupQueryTypeParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupQueryTypeParamsProtocolTLS DNSTimeseriesGroupQueryTypeParamsProtocol = "TLS"` - `ResponseCode param.Field[[]DNSTimeseriesGroupQueryTypeParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNoerror DNSTimeseriesGroupQueryTypeParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeFormerr DNSTimeseriesGroupQueryTypeParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeServfail DNSTimeseriesGroupQueryTypeParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNxdomain DNSTimeseriesGroupQueryTypeParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNotimp DNSTimeseriesGroupQueryTypeParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeRefused DNSTimeseriesGroupQueryTypeParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeYxdomain DNSTimeseriesGroupQueryTypeParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeYxrrset DNSTimeseriesGroupQueryTypeParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNxrrset DNSTimeseriesGroupQueryTypeParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNotauth DNSTimeseriesGroupQueryTypeParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeNotzone DNSTimeseriesGroupQueryTypeParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadsig DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadkey DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadtime DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadmode DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadname DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadalg DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadtrunc DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupQueryTypeParamsResponseCodeBadcookie DNSTimeseriesGroupQueryTypeParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupQueryTypeResponse struct{…}` - `Meta DNSTimeseriesGroupQueryTypeResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupQueryTypeResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupQueryTypeResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupQueryTypeResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupQueryTypeResponseMetaAggIntervalOneHour DNSTimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupQueryTypeResponseMetaAggIntervalOneDay DNSTimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupQueryTypeResponseMetaAggIntervalOneWeek DNSTimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupQueryTypeResponseMetaAggIntervalOneMonth DNSTimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupQueryTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupQueryTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationPercentage DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationMin0Max DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationMinMax DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationRawValues DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationPercentageChange DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationRollingAverage DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupQueryTypeResponseMetaNormalizationRatio DNSTimeseriesGroupQueryTypeResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupQueryTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupQueryTypeResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.QueryType(context.TODO(), radar.DNSTimeseriesGroupQueryTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.ResponseCode(ctx, query) (*DNSTimeseriesGroupResponseCodeResponse, error)` **get** `/radar/dns/timeseries_groups/response_code` Retrieves the distribution of DNS queries by response code over time. ### Parameters - `query DNSTimeseriesGroupResponseCodeParams` - `AggInterval param.Field[DNSTimeseriesGroupResponseCodeParamsAggInterval]` 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/). - `const DNSTimeseriesGroupResponseCodeParamsAggInterval15m DNSTimeseriesGroupResponseCodeParamsAggInterval = "15m"` - `const DNSTimeseriesGroupResponseCodeParamsAggInterval1h DNSTimeseriesGroupResponseCodeParamsAggInterval = "1h"` - `const DNSTimeseriesGroupResponseCodeParamsAggInterval1d DNSTimeseriesGroupResponseCodeParamsAggInterval = "1d"` - `const DNSTimeseriesGroupResponseCodeParamsAggInterval1w DNSTimeseriesGroupResponseCodeParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupResponseCodeParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupResponseCodeParamsFormatJson DNSTimeseriesGroupResponseCodeParamsFormat = "JSON"` - `const DNSTimeseriesGroupResponseCodeParamsFormatCsv DNSTimeseriesGroupResponseCodeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupResponseCodeParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupResponseCodeParamsProtocolUdp DNSTimeseriesGroupResponseCodeParamsProtocol = "UDP"` - `const DNSTimeseriesGroupResponseCodeParamsProtocolTCP DNSTimeseriesGroupResponseCodeParamsProtocol = "TCP"` - `const DNSTimeseriesGroupResponseCodeParamsProtocolHTTPS DNSTimeseriesGroupResponseCodeParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupResponseCodeParamsProtocolTLS DNSTimeseriesGroupResponseCodeParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupResponseCodeParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeA DNSTimeseriesGroupResponseCodeParamsQueryType = "A"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeAAAA DNSTimeseriesGroupResponseCodeParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeA6 DNSTimeseriesGroupResponseCodeParamsQueryType = "A6"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeAfsdb DNSTimeseriesGroupResponseCodeParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeAny DNSTimeseriesGroupResponseCodeParamsQueryType = "ANY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeApl DNSTimeseriesGroupResponseCodeParamsQueryType = "APL"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeAtma DNSTimeseriesGroupResponseCodeParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeAXFR DNSTimeseriesGroupResponseCodeParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCAA DNSTimeseriesGroupResponseCodeParamsQueryType = "CAA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCdnskey DNSTimeseriesGroupResponseCodeParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCds DNSTimeseriesGroupResponseCodeParamsQueryType = "CDS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCERT DNSTimeseriesGroupResponseCodeParamsQueryType = "CERT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCNAME DNSTimeseriesGroupResponseCodeParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeCsync DNSTimeseriesGroupResponseCodeParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDhcid DNSTimeseriesGroupResponseCodeParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDlv DNSTimeseriesGroupResponseCodeParamsQueryType = "DLV"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDname DNSTimeseriesGroupResponseCodeParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDNSKEY DNSTimeseriesGroupResponseCodeParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDoa DNSTimeseriesGroupResponseCodeParamsQueryType = "DOA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeDS DNSTimeseriesGroupResponseCodeParamsQueryType = "DS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeEid DNSTimeseriesGroupResponseCodeParamsQueryType = "EID"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeEui48 DNSTimeseriesGroupResponseCodeParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeEui64 DNSTimeseriesGroupResponseCodeParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeGpos DNSTimeseriesGroupResponseCodeParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeGid DNSTimeseriesGroupResponseCodeParamsQueryType = "GID"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeHinfo DNSTimeseriesGroupResponseCodeParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeHip DNSTimeseriesGroupResponseCodeParamsQueryType = "HIP"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeHTTPS DNSTimeseriesGroupResponseCodeParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeIpseckey DNSTimeseriesGroupResponseCodeParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeIsdn DNSTimeseriesGroupResponseCodeParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeIxfr DNSTimeseriesGroupResponseCodeParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeKey DNSTimeseriesGroupResponseCodeParamsQueryType = "KEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeKx DNSTimeseriesGroupResponseCodeParamsQueryType = "KX"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeL32 DNSTimeseriesGroupResponseCodeParamsQueryType = "L32"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeL64 DNSTimeseriesGroupResponseCodeParamsQueryType = "L64"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeLOC DNSTimeseriesGroupResponseCodeParamsQueryType = "LOC"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeLp DNSTimeseriesGroupResponseCodeParamsQueryType = "LP"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMaila DNSTimeseriesGroupResponseCodeParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMailb DNSTimeseriesGroupResponseCodeParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMB DNSTimeseriesGroupResponseCodeParamsQueryType = "MB"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMd DNSTimeseriesGroupResponseCodeParamsQueryType = "MD"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMf DNSTimeseriesGroupResponseCodeParamsQueryType = "MF"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMg DNSTimeseriesGroupResponseCodeParamsQueryType = "MG"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMinfo DNSTimeseriesGroupResponseCodeParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMr DNSTimeseriesGroupResponseCodeParamsQueryType = "MR"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeMX DNSTimeseriesGroupResponseCodeParamsQueryType = "MX"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNAPTR DNSTimeseriesGroupResponseCodeParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNb DNSTimeseriesGroupResponseCodeParamsQueryType = "NB"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNbstat DNSTimeseriesGroupResponseCodeParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNid DNSTimeseriesGroupResponseCodeParamsQueryType = "NID"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNimloc DNSTimeseriesGroupResponseCodeParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNinfo DNSTimeseriesGroupResponseCodeParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNS DNSTimeseriesGroupResponseCodeParamsQueryType = "NS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNsap DNSTimeseriesGroupResponseCodeParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNsec DNSTimeseriesGroupResponseCodeParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNsec3 DNSTimeseriesGroupResponseCodeParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNsec3Param DNSTimeseriesGroupResponseCodeParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNull DNSTimeseriesGroupResponseCodeParamsQueryType = "NULL"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeNxt DNSTimeseriesGroupResponseCodeParamsQueryType = "NXT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeOpenpgpkey DNSTimeseriesGroupResponseCodeParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeOpt DNSTimeseriesGroupResponseCodeParamsQueryType = "OPT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypePTR DNSTimeseriesGroupResponseCodeParamsQueryType = "PTR"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypePx DNSTimeseriesGroupResponseCodeParamsQueryType = "PX"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeRkey DNSTimeseriesGroupResponseCodeParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeRp DNSTimeseriesGroupResponseCodeParamsQueryType = "RP"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeRrsig DNSTimeseriesGroupResponseCodeParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeRt DNSTimeseriesGroupResponseCodeParamsQueryType = "RT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSig DNSTimeseriesGroupResponseCodeParamsQueryType = "SIG"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSink DNSTimeseriesGroupResponseCodeParamsQueryType = "SINK"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSMIMEA DNSTimeseriesGroupResponseCodeParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSOA DNSTimeseriesGroupResponseCodeParamsQueryType = "SOA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSPF DNSTimeseriesGroupResponseCodeParamsQueryType = "SPF"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSRV DNSTimeseriesGroupResponseCodeParamsQueryType = "SRV"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSSHFP DNSTimeseriesGroupResponseCodeParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeSVCB DNSTimeseriesGroupResponseCodeParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTa DNSTimeseriesGroupResponseCodeParamsQueryType = "TA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTalink DNSTimeseriesGroupResponseCodeParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTkey DNSTimeseriesGroupResponseCodeParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTLSA DNSTimeseriesGroupResponseCodeParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTSIG DNSTimeseriesGroupResponseCodeParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeTXT DNSTimeseriesGroupResponseCodeParamsQueryType = "TXT"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeUinfo DNSTimeseriesGroupResponseCodeParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeUID DNSTimeseriesGroupResponseCodeParamsQueryType = "UID"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeUnspec DNSTimeseriesGroupResponseCodeParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeURI DNSTimeseriesGroupResponseCodeParamsQueryType = "URI"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeWks DNSTimeseriesGroupResponseCodeParamsQueryType = "WKS"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeX25 DNSTimeseriesGroupResponseCodeParamsQueryType = "X25"` - `const DNSTimeseriesGroupResponseCodeParamsQueryTypeZonemd DNSTimeseriesGroupResponseCodeParamsQueryType = "ZONEMD"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupResponseCodeResponse struct{…}` - `Meta DNSTimeseriesGroupResponseCodeResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupResponseCodeResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupResponseCodeResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupResponseCodeResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupResponseCodeResponseMetaAggIntervalOneHour DNSTimeseriesGroupResponseCodeResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupResponseCodeResponseMetaAggIntervalOneDay DNSTimeseriesGroupResponseCodeResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupResponseCodeResponseMetaAggIntervalOneWeek DNSTimeseriesGroupResponseCodeResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupResponseCodeResponseMetaAggIntervalOneMonth DNSTimeseriesGroupResponseCodeResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupResponseCodeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupResponseCodeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupResponseCodeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationPercentage DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationMin0Max DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationMinMax DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationRawValues DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationPercentageChange DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationRollingAverage DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupResponseCodeResponseMetaNormalizationRatio DNSTimeseriesGroupResponseCodeResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupResponseCodeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupResponseCodeResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.ResponseCode(context.TODO(), radar.DNSTimeseriesGroupResponseCodeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.Radar.DNS.TimeseriesGroups.ResponseTTL(ctx, query) (*DNSTimeseriesGroupResponseTTLResponse, error)` **get** `/radar/dns/timeseries_groups/response_ttl` Retrieves the distribution of DNS queries by minimum answer TTL over time. ### Parameters - `query DNSTimeseriesGroupResponseTTLParams` - `AggInterval param.Field[DNSTimeseriesGroupResponseTTLParamsAggInterval]` 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/). - `const DNSTimeseriesGroupResponseTTLParamsAggInterval15m DNSTimeseriesGroupResponseTTLParamsAggInterval = "15m"` - `const DNSTimeseriesGroupResponseTTLParamsAggInterval1h DNSTimeseriesGroupResponseTTLParamsAggInterval = "1h"` - `const DNSTimeseriesGroupResponseTTLParamsAggInterval1d DNSTimeseriesGroupResponseTTLParamsAggInterval = "1d"` - `const DNSTimeseriesGroupResponseTTLParamsAggInterval1w DNSTimeseriesGroupResponseTTLParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[DNSTimeseriesGroupResponseTTLParamsFormat]` Format in which results will be returned. - `const DNSTimeseriesGroupResponseTTLParamsFormatJson DNSTimeseriesGroupResponseTTLParamsFormat = "JSON"` - `const DNSTimeseriesGroupResponseTTLParamsFormatCsv DNSTimeseriesGroupResponseTTLParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Nodata param.Field[[]bool]` Specifies whether the response includes empty DNS responses (NODATA). - `Protocol param.Field[[]DNSTimeseriesGroupResponseTTLParamsProtocol]` Filters results by DNS transport protocol. - `const DNSTimeseriesGroupResponseTTLParamsProtocolUdp DNSTimeseriesGroupResponseTTLParamsProtocol = "UDP"` - `const DNSTimeseriesGroupResponseTTLParamsProtocolTCP DNSTimeseriesGroupResponseTTLParamsProtocol = "TCP"` - `const DNSTimeseriesGroupResponseTTLParamsProtocolHTTPS DNSTimeseriesGroupResponseTTLParamsProtocol = "HTTPS"` - `const DNSTimeseriesGroupResponseTTLParamsProtocolTLS DNSTimeseriesGroupResponseTTLParamsProtocol = "TLS"` - `QueryType param.Field[[]DNSTimeseriesGroupResponseTTLParamsQueryType]` Filters results by DNS query type. - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeA DNSTimeseriesGroupResponseTTLParamsQueryType = "A"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeAAAA DNSTimeseriesGroupResponseTTLParamsQueryType = "AAAA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeA6 DNSTimeseriesGroupResponseTTLParamsQueryType = "A6"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeAfsdb DNSTimeseriesGroupResponseTTLParamsQueryType = "AFSDB"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeAny DNSTimeseriesGroupResponseTTLParamsQueryType = "ANY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeApl DNSTimeseriesGroupResponseTTLParamsQueryType = "APL"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeAtma DNSTimeseriesGroupResponseTTLParamsQueryType = "ATMA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeAXFR DNSTimeseriesGroupResponseTTLParamsQueryType = "AXFR"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCAA DNSTimeseriesGroupResponseTTLParamsQueryType = "CAA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCdnskey DNSTimeseriesGroupResponseTTLParamsQueryType = "CDNSKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCds DNSTimeseriesGroupResponseTTLParamsQueryType = "CDS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCERT DNSTimeseriesGroupResponseTTLParamsQueryType = "CERT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCNAME DNSTimeseriesGroupResponseTTLParamsQueryType = "CNAME"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeCsync DNSTimeseriesGroupResponseTTLParamsQueryType = "CSYNC"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDhcid DNSTimeseriesGroupResponseTTLParamsQueryType = "DHCID"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDlv DNSTimeseriesGroupResponseTTLParamsQueryType = "DLV"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDname DNSTimeseriesGroupResponseTTLParamsQueryType = "DNAME"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDNSKEY DNSTimeseriesGroupResponseTTLParamsQueryType = "DNSKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDoa DNSTimeseriesGroupResponseTTLParamsQueryType = "DOA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeDS DNSTimeseriesGroupResponseTTLParamsQueryType = "DS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeEid DNSTimeseriesGroupResponseTTLParamsQueryType = "EID"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeEui48 DNSTimeseriesGroupResponseTTLParamsQueryType = "EUI48"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeEui64 DNSTimeseriesGroupResponseTTLParamsQueryType = "EUI64"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeGpos DNSTimeseriesGroupResponseTTLParamsQueryType = "GPOS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeGid DNSTimeseriesGroupResponseTTLParamsQueryType = "GID"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeHinfo DNSTimeseriesGroupResponseTTLParamsQueryType = "HINFO"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeHip DNSTimeseriesGroupResponseTTLParamsQueryType = "HIP"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeHTTPS DNSTimeseriesGroupResponseTTLParamsQueryType = "HTTPS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeIpseckey DNSTimeseriesGroupResponseTTLParamsQueryType = "IPSECKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeIsdn DNSTimeseriesGroupResponseTTLParamsQueryType = "ISDN"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeIxfr DNSTimeseriesGroupResponseTTLParamsQueryType = "IXFR"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeKey DNSTimeseriesGroupResponseTTLParamsQueryType = "KEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeKx DNSTimeseriesGroupResponseTTLParamsQueryType = "KX"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeL32 DNSTimeseriesGroupResponseTTLParamsQueryType = "L32"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeL64 DNSTimeseriesGroupResponseTTLParamsQueryType = "L64"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeLOC DNSTimeseriesGroupResponseTTLParamsQueryType = "LOC"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeLp DNSTimeseriesGroupResponseTTLParamsQueryType = "LP"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMaila DNSTimeseriesGroupResponseTTLParamsQueryType = "MAILA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMailb DNSTimeseriesGroupResponseTTLParamsQueryType = "MAILB"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMB DNSTimeseriesGroupResponseTTLParamsQueryType = "MB"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMd DNSTimeseriesGroupResponseTTLParamsQueryType = "MD"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMf DNSTimeseriesGroupResponseTTLParamsQueryType = "MF"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMg DNSTimeseriesGroupResponseTTLParamsQueryType = "MG"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMinfo DNSTimeseriesGroupResponseTTLParamsQueryType = "MINFO"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMr DNSTimeseriesGroupResponseTTLParamsQueryType = "MR"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeMX DNSTimeseriesGroupResponseTTLParamsQueryType = "MX"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNAPTR DNSTimeseriesGroupResponseTTLParamsQueryType = "NAPTR"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNb DNSTimeseriesGroupResponseTTLParamsQueryType = "NB"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNbstat DNSTimeseriesGroupResponseTTLParamsQueryType = "NBSTAT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNid DNSTimeseriesGroupResponseTTLParamsQueryType = "NID"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNimloc DNSTimeseriesGroupResponseTTLParamsQueryType = "NIMLOC"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNinfo DNSTimeseriesGroupResponseTTLParamsQueryType = "NINFO"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNS DNSTimeseriesGroupResponseTTLParamsQueryType = "NS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNsap DNSTimeseriesGroupResponseTTLParamsQueryType = "NSAP"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNsec DNSTimeseriesGroupResponseTTLParamsQueryType = "NSEC"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNsec3 DNSTimeseriesGroupResponseTTLParamsQueryType = "NSEC3"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNsec3Param DNSTimeseriesGroupResponseTTLParamsQueryType = "NSEC3PARAM"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNull DNSTimeseriesGroupResponseTTLParamsQueryType = "NULL"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeNxt DNSTimeseriesGroupResponseTTLParamsQueryType = "NXT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeOpenpgpkey DNSTimeseriesGroupResponseTTLParamsQueryType = "OPENPGPKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeOpt DNSTimeseriesGroupResponseTTLParamsQueryType = "OPT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypePTR DNSTimeseriesGroupResponseTTLParamsQueryType = "PTR"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypePx DNSTimeseriesGroupResponseTTLParamsQueryType = "PX"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeRkey DNSTimeseriesGroupResponseTTLParamsQueryType = "RKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeRp DNSTimeseriesGroupResponseTTLParamsQueryType = "RP"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeRrsig DNSTimeseriesGroupResponseTTLParamsQueryType = "RRSIG"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeRt DNSTimeseriesGroupResponseTTLParamsQueryType = "RT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSig DNSTimeseriesGroupResponseTTLParamsQueryType = "SIG"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSink DNSTimeseriesGroupResponseTTLParamsQueryType = "SINK"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSMIMEA DNSTimeseriesGroupResponseTTLParamsQueryType = "SMIMEA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSOA DNSTimeseriesGroupResponseTTLParamsQueryType = "SOA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSPF DNSTimeseriesGroupResponseTTLParamsQueryType = "SPF"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSRV DNSTimeseriesGroupResponseTTLParamsQueryType = "SRV"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSSHFP DNSTimeseriesGroupResponseTTLParamsQueryType = "SSHFP"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeSVCB DNSTimeseriesGroupResponseTTLParamsQueryType = "SVCB"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTa DNSTimeseriesGroupResponseTTLParamsQueryType = "TA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTalink DNSTimeseriesGroupResponseTTLParamsQueryType = "TALINK"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTkey DNSTimeseriesGroupResponseTTLParamsQueryType = "TKEY"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTLSA DNSTimeseriesGroupResponseTTLParamsQueryType = "TLSA"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTSIG DNSTimeseriesGroupResponseTTLParamsQueryType = "TSIG"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeTXT DNSTimeseriesGroupResponseTTLParamsQueryType = "TXT"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeUinfo DNSTimeseriesGroupResponseTTLParamsQueryType = "UINFO"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeUID DNSTimeseriesGroupResponseTTLParamsQueryType = "UID"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeUnspec DNSTimeseriesGroupResponseTTLParamsQueryType = "UNSPEC"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeURI DNSTimeseriesGroupResponseTTLParamsQueryType = "URI"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeWks DNSTimeseriesGroupResponseTTLParamsQueryType = "WKS"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeX25 DNSTimeseriesGroupResponseTTLParamsQueryType = "X25"` - `const DNSTimeseriesGroupResponseTTLParamsQueryTypeZonemd DNSTimeseriesGroupResponseTTLParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]DNSTimeseriesGroupResponseTTLParamsResponseCode]` Filters results by DNS response code. - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNoerror DNSTimeseriesGroupResponseTTLParamsResponseCode = "NOERROR"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeFormerr DNSTimeseriesGroupResponseTTLParamsResponseCode = "FORMERR"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeServfail DNSTimeseriesGroupResponseTTLParamsResponseCode = "SERVFAIL"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNxdomain DNSTimeseriesGroupResponseTTLParamsResponseCode = "NXDOMAIN"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNotimp DNSTimeseriesGroupResponseTTLParamsResponseCode = "NOTIMP"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeRefused DNSTimeseriesGroupResponseTTLParamsResponseCode = "REFUSED"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeYxdomain DNSTimeseriesGroupResponseTTLParamsResponseCode = "YXDOMAIN"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeYxrrset DNSTimeseriesGroupResponseTTLParamsResponseCode = "YXRRSET"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNxrrset DNSTimeseriesGroupResponseTTLParamsResponseCode = "NXRRSET"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNotauth DNSTimeseriesGroupResponseTTLParamsResponseCode = "NOTAUTH"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeNotzone DNSTimeseriesGroupResponseTTLParamsResponseCode = "NOTZONE"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadsig DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADSIG"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadkey DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADKEY"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadtime DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADTIME"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadmode DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADMODE"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadname DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADNAME"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadalg DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADALG"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadtrunc DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADTRUNC"` - `const DNSTimeseriesGroupResponseTTLParamsResponseCodeBadcookie DNSTimeseriesGroupResponseTTLParamsResponseCode = "BADCOOKIE"` - `TLD param.Field[[]string]` Filters results by top-level domain. ### Returns - `type DNSTimeseriesGroupResponseTTLResponse struct{…}` - `Meta DNSTimeseriesGroupResponseTTLResponseMeta` Metadata for the results. - `AggInterval DNSTimeseriesGroupResponseTTLResponseMetaAggInterval` 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/). - `const DNSTimeseriesGroupResponseTTLResponseMetaAggIntervalFifteenMinutes DNSTimeseriesGroupResponseTTLResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const DNSTimeseriesGroupResponseTTLResponseMetaAggIntervalOneHour DNSTimeseriesGroupResponseTTLResponseMetaAggInterval = "ONE_HOUR"` - `const DNSTimeseriesGroupResponseTTLResponseMetaAggIntervalOneDay DNSTimeseriesGroupResponseTTLResponseMetaAggInterval = "ONE_DAY"` - `const DNSTimeseriesGroupResponseTTLResponseMetaAggIntervalOneWeek DNSTimeseriesGroupResponseTTLResponseMetaAggInterval = "ONE_WEEK"` - `const DNSTimeseriesGroupResponseTTLResponseMetaAggIntervalOneMonth DNSTimeseriesGroupResponseTTLResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfo` - `Annotations []DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotation` - `DataSource DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAll DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAIBots DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceBGP DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceBots DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceCT DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNS DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceDos DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceFw DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceFwPg DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTP DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceIQI DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceNet DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceSpeed DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeEvent DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeGeneral DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeOutage DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypePipeline DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly DNSTimeseriesGroupResponseTTLResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []DNSTimeseriesGroupResponseTTLResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization DNSTimeseriesGroupResponseTTLResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationPercentage DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "PERCENTAGE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationMin0Max DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "MIN0_MAX"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationMinMax DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "MIN_MAX"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationRawValues DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "RAW_VALUES"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationPercentageChange DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationRollingAverage DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "ROLLING_AVERAGE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationOverlappedPercentage DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const DNSTimeseriesGroupResponseTTLResponseMetaNormalizationRatio DNSTimeseriesGroupResponseTTLResponseMetaNormalization = "RATIO"` - `Units []DNSTimeseriesGroupResponseTTLResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 DNSTimeseriesGroupResponseTTLResponseSerie0` - `Gt15mLte1h []string` - `Gt1dLte1w []string` - `Gt1hLte1d []string` - `Gt1mLte5m []string` - `Gt1w []string` - `Gt5mLte15m []string` - `Lte1m []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.DNS.TimeseriesGroups.ResponseTTL(context.TODO(), radar.DNSTimeseriesGroupResponseTTLParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # NetFlows ## Get network traffic time series `client.Radar.NetFlows.Timeseries(ctx, query) (*NetFlowsTimeseriesResponse, error)` **get** `/radar/netflows/timeseries` Retrieves network traffic (NetFlows) over time. ### Parameters - `query NetFlowsTimeseriesParams` - `AggInterval param.Field[NetFlowsTimeseriesParamsAggInterval]` 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/). - `const NetFlowsTimeseriesParamsAggInterval15m NetFlowsTimeseriesParamsAggInterval = "15m"` - `const NetFlowsTimeseriesParamsAggInterval1h NetFlowsTimeseriesParamsAggInterval = "1h"` - `const NetFlowsTimeseriesParamsAggInterval1d NetFlowsTimeseriesParamsAggInterval = "1d"` - `const NetFlowsTimeseriesParamsAggInterval1w NetFlowsTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsTimeseriesParamsFormat]` Format in which results will be returned. - `const NetFlowsTimeseriesParamsFormatJson NetFlowsTimeseriesParamsFormat = "JSON"` - `const NetFlowsTimeseriesParamsFormatCsv NetFlowsTimeseriesParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[NetFlowsTimeseriesParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTimeseriesParamsNormalizationPercentageChange NetFlowsTimeseriesParamsNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsTimeseriesParamsNormalizationMin0Max NetFlowsTimeseriesParamsNormalization = "MIN0_MAX"` - `Product param.Field[[]NetFlowsTimeseriesParamsProduct]` Filters the results by network traffic product types. - `const NetFlowsTimeseriesParamsProductHTTP NetFlowsTimeseriesParamsProduct = "HTTP"` - `const NetFlowsTimeseriesParamsProductAll NetFlowsTimeseriesParamsProduct = "ALL"` ### Returns - `type NetFlowsTimeseriesResponse struct{…}` - `Meta NetFlowsTimeseriesResponseMeta` Metadata for the results. - `AggInterval NetFlowsTimeseriesResponseMetaAggInterval` 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/). - `const NetFlowsTimeseriesResponseMetaAggIntervalFifteenMinutes NetFlowsTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const NetFlowsTimeseriesResponseMetaAggIntervalOneHour NetFlowsTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const NetFlowsTimeseriesResponseMetaAggIntervalOneDay NetFlowsTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const NetFlowsTimeseriesResponseMetaAggIntervalOneWeek NetFlowsTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const NetFlowsTimeseriesResponseMetaAggIntervalOneMonth NetFlowsTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo NetFlowsTimeseriesResponseMetaConfidenceInfo` - `Annotations []NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTimeseriesResponseMetaNormalizationPercentage NetFlowsTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsTimeseriesResponseMetaNormalizationMin0Max NetFlowsTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsTimeseriesResponseMetaNormalizationMinMax NetFlowsTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsTimeseriesResponseMetaNormalizationRawValues NetFlowsTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsTimeseriesResponseMetaNormalizationPercentageChange NetFlowsTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsTimeseriesResponseMetaNormalizationRollingAverage NetFlowsTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsTimeseriesResponseMetaNormalizationOverlappedPercentage NetFlowsTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsTimeseriesResponseMetaNormalizationRatio NetFlowsTimeseriesResponseMetaNormalization = "RATIO"` - `Units []NetFlowsTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 NetFlowsTimeseriesResponseSerie0` - `Timestamps []Time` - `Values []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.Timeseries(context.TODO(), radar.NetFlowsTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ "2019-12-27T18:11:19.117Z" ], "values": [ "10" ] } }, "success": true } ``` ## Get network traffic summary `client.Radar.NetFlows.Summary(ctx, query) (*NetFlowsSummaryResponse, error)` **get** `/radar/netflows/summary` Retrieves the distribution of network traffic (NetFlows) by HTTP vs other protocols. ### Parameters - `query NetFlowsSummaryParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsSummaryParamsFormat]` Format in which results will be returned. - `const NetFlowsSummaryParamsFormatJson NetFlowsSummaryParamsFormat = "JSON"` - `const NetFlowsSummaryParamsFormatCsv NetFlowsSummaryParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type NetFlowsSummaryResponse struct{…}` - `Meta NetFlowsSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo NetFlowsSummaryResponseMetaConfidenceInfo` - `Annotations []NetFlowsSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsSummaryResponseMetaNormalizationPercentage NetFlowsSummaryResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsSummaryResponseMetaNormalizationMin0Max NetFlowsSummaryResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsSummaryResponseMetaNormalizationMinMax NetFlowsSummaryResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsSummaryResponseMetaNormalizationRawValues NetFlowsSummaryResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsSummaryResponseMetaNormalizationPercentageChange NetFlowsSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsSummaryResponseMetaNormalizationRollingAverage NetFlowsSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsSummaryResponseMetaNormalizationOverlappedPercentage NetFlowsSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsSummaryResponseMetaNormalizationRatio NetFlowsSummaryResponseMetaNormalization = "RATIO"` - `Units []NetFlowsSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 NetFlowsSummaryResponseSummary0` - `HTTP string` A numeric string. - `Other string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.Summary(context.TODO(), radar.NetFlowsSummaryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP": "10", "OTHER": "10" } }, "success": true } ``` ## Get network traffic distribution by dimension `client.Radar.NetFlows.SummaryV2(ctx, dimension, query) (*NetFlowsSummaryV2Response, error)` **get** `/radar/netflows/summary/{dimension}` Retrieves the distribution of network traffic (NetFlows) by the specified dimension. ### Parameters - `dimension NetFlowsSummaryV2ParamsDimension` Specifies the NetFlows attribute by which to group the results. - `const NetFlowsSummaryV2ParamsDimensionAdm1 NetFlowsSummaryV2ParamsDimension = "ADM1"` - `const NetFlowsSummaryV2ParamsDimensionAs NetFlowsSummaryV2ParamsDimension = "AS"` - `const NetFlowsSummaryV2ParamsDimensionLocation NetFlowsSummaryV2ParamsDimension = "LOCATION"` - `const NetFlowsSummaryV2ParamsDimensionProduct NetFlowsSummaryV2ParamsDimension = "PRODUCT"` - `query NetFlowsSummaryV2Params` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsSummaryV2ParamsFormat]` Format in which results will be returned. - `const NetFlowsSummaryV2ParamsFormatJson NetFlowsSummaryV2ParamsFormat = "JSON"` - `const NetFlowsSummaryV2ParamsFormatCsv NetFlowsSummaryV2ParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Product param.Field[[]NetFlowsSummaryV2ParamsProduct]` Filters the results by network traffic product types. - `const NetFlowsSummaryV2ParamsProductHTTP NetFlowsSummaryV2ParamsProduct = "HTTP"` - `const NetFlowsSummaryV2ParamsProductAll NetFlowsSummaryV2ParamsProduct = "ALL"` ### Returns - `type NetFlowsSummaryV2Response struct{…}` - `Meta NetFlowsSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo NetFlowsSummaryV2ResponseMetaConfidenceInfo` - `Annotations []NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsSummaryV2ResponseMetaNormalizationPercentage NetFlowsSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsSummaryV2ResponseMetaNormalizationMin0Max NetFlowsSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsSummaryV2ResponseMetaNormalizationMinMax NetFlowsSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsSummaryV2ResponseMetaNormalizationRawValues NetFlowsSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsSummaryV2ResponseMetaNormalizationPercentageChange NetFlowsSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsSummaryV2ResponseMetaNormalizationRollingAverage NetFlowsSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsSummaryV2ResponseMetaNormalizationOverlappedPercentage NetFlowsSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsSummaryV2ResponseMetaNormalizationRatio NetFlowsSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []NetFlowsSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.SummaryV2( context.TODO(), radar.NetFlowsSummaryV2ParamsDimensionAdm1, radar.NetFlowsSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Germany": "25.084366", "United States": "50.168733" } }, "success": true } ``` ## Get time series distribution of network traffic by dimension `client.Radar.NetFlows.TimeseriesGroups(ctx, dimension, query) (*NetFlowsTimeseriesGroupsResponse, error)` **get** `/radar/netflows/timeseries_groups/{dimension}` Retrieves the distribution of NetFlows traffic, grouped by the specified dimension over time. ### Parameters - `dimension NetFlowsTimeseriesGroupsParamsDimension` Specifies the NetFlows attribute by which to group the results. - `const NetFlowsTimeseriesGroupsParamsDimensionAdm1 NetFlowsTimeseriesGroupsParamsDimension = "ADM1"` - `const NetFlowsTimeseriesGroupsParamsDimensionAs NetFlowsTimeseriesGroupsParamsDimension = "AS"` - `const NetFlowsTimeseriesGroupsParamsDimensionLocation NetFlowsTimeseriesGroupsParamsDimension = "LOCATION"` - `const NetFlowsTimeseriesGroupsParamsDimensionProduct NetFlowsTimeseriesGroupsParamsDimension = "PRODUCT"` - `query NetFlowsTimeseriesGroupsParams` - `AggInterval param.Field[NetFlowsTimeseriesGroupsParamsAggInterval]` 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/). - `const NetFlowsTimeseriesGroupsParamsAggInterval15m NetFlowsTimeseriesGroupsParamsAggInterval = "15m"` - `const NetFlowsTimeseriesGroupsParamsAggInterval1h NetFlowsTimeseriesGroupsParamsAggInterval = "1h"` - `const NetFlowsTimeseriesGroupsParamsAggInterval1d NetFlowsTimeseriesGroupsParamsAggInterval = "1d"` - `const NetFlowsTimeseriesGroupsParamsAggInterval1w NetFlowsTimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const NetFlowsTimeseriesGroupsParamsFormatJson NetFlowsTimeseriesGroupsParamsFormat = "JSON"` - `const NetFlowsTimeseriesGroupsParamsFormatCsv NetFlowsTimeseriesGroupsParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[NetFlowsTimeseriesGroupsParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTimeseriesGroupsParamsNormalizationPercentage NetFlowsTimeseriesGroupsParamsNormalization = "PERCENTAGE"` - `const NetFlowsTimeseriesGroupsParamsNormalizationMin0Max NetFlowsTimeseriesGroupsParamsNormalization = "MIN0_MAX"` - `Product param.Field[[]NetFlowsTimeseriesGroupsParamsProduct]` Filters the results by network traffic product types. - `const NetFlowsTimeseriesGroupsParamsProductHTTP NetFlowsTimeseriesGroupsParamsProduct = "HTTP"` - `const NetFlowsTimeseriesGroupsParamsProductAll NetFlowsTimeseriesGroupsParamsProduct = "ALL"` ### Returns - `type NetFlowsTimeseriesGroupsResponse struct{…}` - `Meta NetFlowsTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval NetFlowsTimeseriesGroupsResponseMetaAggInterval` 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/). - `const NetFlowsTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes NetFlowsTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const NetFlowsTimeseriesGroupsResponseMetaAggIntervalOneHour NetFlowsTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const NetFlowsTimeseriesGroupsResponseMetaAggIntervalOneDay NetFlowsTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const NetFlowsTimeseriesGroupsResponseMetaAggIntervalOneWeek NetFlowsTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const NetFlowsTimeseriesGroupsResponseMetaAggIntervalOneMonth NetFlowsTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo NetFlowsTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationPercentage NetFlowsTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationMin0Max NetFlowsTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationMinMax NetFlowsTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationRawValues NetFlowsTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationPercentageChange NetFlowsTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationRollingAverage NetFlowsTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage NetFlowsTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsTimeseriesGroupsResponseMetaNormalizationRatio NetFlowsTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []NetFlowsTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 NetFlowsTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.TimeseriesGroups( context.TODO(), radar.NetFlowsTimeseriesGroupsParamsDimensionAdm1, radar.NetFlowsTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Top ## Get top ASes by network traffic `client.Radar.NetFlows.Top.Ases(ctx, query) (*NetFlowsTopAsesResponse, error)` **get** `/radar/netflows/top/ases` Retrieves the top autonomous systems by network traffic (NetFlows). ### Parameters - `query NetFlowsTopAsesParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsTopAsesParamsFormat]` Format in which results will be returned. - `const NetFlowsTopAsesParamsFormatJson NetFlowsTopAsesParamsFormat = "JSON"` - `const NetFlowsTopAsesParamsFormatCsv NetFlowsTopAsesParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type NetFlowsTopAsesResponse struct{…}` - `Meta NetFlowsTopAsesResponseMeta` Metadata for the results. - `ConfidenceInfo NetFlowsTopAsesResponseMetaConfidenceInfo` - `Annotations []NetFlowsTopAsesResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsTopAsesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsTopAsesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTopAsesResponseMetaNormalizationPercentage NetFlowsTopAsesResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsTopAsesResponseMetaNormalizationMin0Max NetFlowsTopAsesResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsTopAsesResponseMetaNormalizationMinMax NetFlowsTopAsesResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsTopAsesResponseMetaNormalizationRawValues NetFlowsTopAsesResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsTopAsesResponseMetaNormalizationPercentageChange NetFlowsTopAsesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsTopAsesResponseMetaNormalizationRollingAverage NetFlowsTopAsesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsTopAsesResponseMetaNormalizationOverlappedPercentage NetFlowsTopAsesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsTopAsesResponseMetaNormalizationRatio NetFlowsTopAsesResponseMetaNormalization = "RATIO"` - `Units []NetFlowsTopAsesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []NetFlowsTopAsesResponseTop0` - `ClientASN float64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.Top.Ases(context.TODO(), radar.NetFlowsTopAsesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": 16509, "clientASName": "AMAZON-02", "value": "10" } ] }, "success": true } ``` ## Get top locations by network traffic `client.Radar.NetFlows.Top.Locations(ctx, query) (*NetFlowsTopLocationsResponse, error)` **get** `/radar/netflows/top/locations` Retrieves the top locations by network traffic (NetFlows). ### Parameters - `query NetFlowsTopLocationsParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[NetFlowsTopLocationsParamsFormat]` Format in which results will be returned. - `const NetFlowsTopLocationsParamsFormatJson NetFlowsTopLocationsParamsFormat = "JSON"` - `const NetFlowsTopLocationsParamsFormatCsv NetFlowsTopLocationsParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type NetFlowsTopLocationsResponse struct{…}` - `Meta NetFlowsTopLocationsResponseMeta` Metadata for the results. - `ConfidenceInfo NetFlowsTopLocationsResponseMetaConfidenceInfo` - `Annotations []NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotation` - `DataSource NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAll NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBGP NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBots NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceCT NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNS NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDos NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFw NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceIQI NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceNet NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeEvent NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeOutage NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePipeline NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly NetFlowsTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []NetFlowsTopLocationsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization NetFlowsTopLocationsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const NetFlowsTopLocationsResponseMetaNormalizationPercentage NetFlowsTopLocationsResponseMetaNormalization = "PERCENTAGE"` - `const NetFlowsTopLocationsResponseMetaNormalizationMin0Max NetFlowsTopLocationsResponseMetaNormalization = "MIN0_MAX"` - `const NetFlowsTopLocationsResponseMetaNormalizationMinMax NetFlowsTopLocationsResponseMetaNormalization = "MIN_MAX"` - `const NetFlowsTopLocationsResponseMetaNormalizationRawValues NetFlowsTopLocationsResponseMetaNormalization = "RAW_VALUES"` - `const NetFlowsTopLocationsResponseMetaNormalizationPercentageChange NetFlowsTopLocationsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const NetFlowsTopLocationsResponseMetaNormalizationRollingAverage NetFlowsTopLocationsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const NetFlowsTopLocationsResponseMetaNormalizationOverlappedPercentage NetFlowsTopLocationsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const NetFlowsTopLocationsResponseMetaNormalizationRatio NetFlowsTopLocationsResponseMetaNormalization = "RATIO"` - `Units []NetFlowsTopLocationsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []NetFlowsTopLocationsResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.NetFlows.Top.Locations(context.TODO(), radar.NetFlowsTopLocationsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": "US", "clientCountryName": "United States", "value": "10" } ] }, "success": true } ``` # Post Quantum # Origin ## Get Origin Post-Quantum Data Summary `client.Radar.PostQuantum.Origin.Summary(ctx, dimension, query) (*PostQuantumOriginSummaryResponse, error)` **get** `/radar/post_quantum/origin/summary/{dimension}` Returns a summary of origin post-quantum data grouped by the specified dimension. ### Parameters - `dimension PostQuantumOriginSummaryParamsDimension` Specifies the origin post-quantum data dimension by which to group the results. - `const PostQuantumOriginSummaryParamsDimensionKeyAgreement PostQuantumOriginSummaryParamsDimension = "KEY_AGREEMENT"` - `query PostQuantumOriginSummaryParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[PostQuantumOriginSummaryParamsFormat]` Format in which results will be returned. - `const PostQuantumOriginSummaryParamsFormatJson PostQuantumOriginSummaryParamsFormat = "JSON"` - `const PostQuantumOriginSummaryParamsFormatCsv PostQuantumOriginSummaryParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type PostQuantumOriginSummaryResponse struct{…}` - `Meta PostQuantumOriginSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo PostQuantumOriginSummaryResponseMetaConfidenceInfo` - `Annotations []PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []PostQuantumOriginSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization PostQuantumOriginSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const PostQuantumOriginSummaryResponseMetaNormalizationPercentage PostQuantumOriginSummaryResponseMetaNormalization = "PERCENTAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationMin0Max PostQuantumOriginSummaryResponseMetaNormalization = "MIN0_MAX"` - `const PostQuantumOriginSummaryResponseMetaNormalizationMinMax PostQuantumOriginSummaryResponseMetaNormalization = "MIN_MAX"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRawValues PostQuantumOriginSummaryResponseMetaNormalization = "RAW_VALUES"` - `const PostQuantumOriginSummaryResponseMetaNormalizationPercentageChange PostQuantumOriginSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRollingAverage PostQuantumOriginSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationOverlappedPercentage PostQuantumOriginSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRatio PostQuantumOriginSummaryResponseMetaNormalization = "RATIO"` - `Units []PostQuantumOriginSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.PostQuantum.Origin.Summary( context.TODO(), radar.PostQuantumOriginSummaryParamsDimensionKeyAgreement, radar.PostQuantumOriginSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "CurveP256": "99.1234", "CurveP384": "85.5678", "CurveP521": "45.9012", "X25519": "98.3456", "X25519MLKEM768": "12.7890" } }, "success": true } ``` ## Get Origin Post-Quantum Data Over Time `client.Radar.PostQuantum.Origin.TimeseriesGroups(ctx, dimension, query) (*PostQuantumOriginTimeseriesGroupsResponse, error)` **get** `/radar/post_quantum/origin/timeseries_groups/{dimension}` Returns a timeseries of origin post-quantum data grouped by the specified dimension. ### Parameters - `dimension PostQuantumOriginTimeseriesGroupsParamsDimension` Specifies the origin post-quantum data dimension by which to group the results. - `const PostQuantumOriginTimeseriesGroupsParamsDimensionKeyAgreement PostQuantumOriginTimeseriesGroupsParamsDimension = "KEY_AGREEMENT"` - `query PostQuantumOriginTimeseriesGroupsParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[PostQuantumOriginTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const PostQuantumOriginTimeseriesGroupsParamsFormatJson PostQuantumOriginTimeseriesGroupsParamsFormat = "JSON"` - `const PostQuantumOriginTimeseriesGroupsParamsFormatCsv PostQuantumOriginTimeseriesGroupsParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type PostQuantumOriginTimeseriesGroupsResponse struct{…}` - `Meta PostQuantumOriginTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval` 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/). - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneHour PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneDay PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneWeek PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneMonth PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []PostQuantumOriginTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization PostQuantumOriginTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationPercentage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationMin0Max PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationMinMax PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRawValues PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationPercentageChange PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRollingAverage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRatio PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []PostQuantumOriginTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 PostQuantumOriginTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.PostQuantum.Origin.TimeseriesGroups( context.TODO(), radar.PostQuantumOriginTimeseriesGroupsParamsDimensionKeyAgreement, radar.PostQuantumOriginTimeseriesGroupsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # TLS ## Check Post-Quantum TLS support `client.Radar.PostQuantum.TLS.Support(ctx, query) (*PostQuantumTLSSupportResponse, error)` **get** `/radar/post_quantum/tls/support` Tests whether a hostname or IP address supports Post-Quantum (PQ) TLS key exchange. Returns information about the negotiated key exchange algorithm and whether it uses PQ cryptography. ### Parameters - `query PostQuantumTLSSupportParams` - `Host param.Field[string]` Hostname or IP address to test for Post-Quantum TLS support, optionally with port (defaults to 443). ### Returns - `type PostQuantumTLSSupportResponse struct{…}` - `Host string` The host that was tested - `Kex float64` TLS CurveID of the negotiated key exchange - `KexName string` Human-readable name of the key exchange algorithm - `Pq bool` Whether the negotiated key exchange uses Post-Quantum cryptography ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.PostQuantum.TLS.Support(context.TODO(), radar.PostQuantumTLSSupportParams{ Host: cloudflare.F("cloudflare.com"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Host) } ``` #### Response ```json { "result": { "host": "host", "kex": 0, "kexName": "kexName", "pq": true }, "success": true } ``` # Search ## Search for locations, ASes, reports, and more `client.Radar.Search.Global(ctx, query) (*SearchGlobalResponse, error)` **get** `/radar/search/global` Searches for locations, autonomous systems, reports, bots, certificate logs, certificate authorities, industries and verticals. Location names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). ### Parameters - `query SearchGlobalParams` - `Query param.Field[string]` String used to perform the search operation. - `Exclude param.Field[[]SearchGlobalParamsExclude]` Search types excluded from results. - `const SearchGlobalParamsExcludeAdm1S SearchGlobalParamsExclude = "ADM1S"` - `const SearchGlobalParamsExcludeASNs SearchGlobalParamsExclude = "ASNS"` - `const SearchGlobalParamsExcludeBots SearchGlobalParamsExclude = "BOTS"` - `const SearchGlobalParamsExcludeCertificateAuthorities SearchGlobalParamsExclude = "CERTIFICATE_AUTHORITIES"` - `const SearchGlobalParamsExcludeCertificateLogs SearchGlobalParamsExclude = "CERTIFICATE_LOGS"` - `const SearchGlobalParamsExcludeOrigins SearchGlobalParamsExclude = "ORIGINS"` - `const SearchGlobalParamsExcludeOriginRegions SearchGlobalParamsExclude = "ORIGIN_REGIONS"` - `const SearchGlobalParamsExcludeIndustries SearchGlobalParamsExclude = "INDUSTRIES"` - `const SearchGlobalParamsExcludeLocations SearchGlobalParamsExclude = "LOCATIONS"` - `const SearchGlobalParamsExcludeNotebooks SearchGlobalParamsExclude = "NOTEBOOKS"` - `const SearchGlobalParamsExcludeTLDs SearchGlobalParamsExclude = "TLDS"` - `const SearchGlobalParamsExcludeVerticals SearchGlobalParamsExclude = "VERTICALS"` - `Format param.Field[SearchGlobalParamsFormat]` Format in which results will be returned. - `const SearchGlobalParamsFormatJson SearchGlobalParamsFormat = "JSON"` - `const SearchGlobalParamsFormatCsv SearchGlobalParamsFormat = "CSV"` - `Include param.Field[[]SearchGlobalParamsInclude]` Search types included in results. - `const SearchGlobalParamsIncludeAdm1S SearchGlobalParamsInclude = "ADM1S"` - `const SearchGlobalParamsIncludeASNs SearchGlobalParamsInclude = "ASNS"` - `const SearchGlobalParamsIncludeBots SearchGlobalParamsInclude = "BOTS"` - `const SearchGlobalParamsIncludeCertificateAuthorities SearchGlobalParamsInclude = "CERTIFICATE_AUTHORITIES"` - `const SearchGlobalParamsIncludeCertificateLogs SearchGlobalParamsInclude = "CERTIFICATE_LOGS"` - `const SearchGlobalParamsIncludeOrigins SearchGlobalParamsInclude = "ORIGINS"` - `const SearchGlobalParamsIncludeOriginRegions SearchGlobalParamsInclude = "ORIGIN_REGIONS"` - `const SearchGlobalParamsIncludeIndustries SearchGlobalParamsInclude = "INDUSTRIES"` - `const SearchGlobalParamsIncludeLocations SearchGlobalParamsInclude = "LOCATIONS"` - `const SearchGlobalParamsIncludeNotebooks SearchGlobalParamsInclude = "NOTEBOOKS"` - `const SearchGlobalParamsIncludeTLDs SearchGlobalParamsInclude = "TLDS"` - `const SearchGlobalParamsIncludeVerticals SearchGlobalParamsInclude = "VERTICALS"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `LimitPerGroup param.Field[float64]` Limits the number of objects per search category. ### Returns - `type SearchGlobalResponse struct{…}` - `Search []SearchGlobalResponseSearch` - `Code string` - `Name string` - `Type string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Search.Global(context.TODO(), radar.SearchGlobalParams{ Query: cloudflare.F("United"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Search) } ``` #### Response ```json { "result": { "search": [ { "code": "13335", "name": "Cloudflare", "type": "asn" } ] }, "success": true } ``` # Verified Bots # Top ## Get top verified bots by HTTP requests `client.Radar.VerifiedBots.Top.Bots(ctx, query) (*VerifiedBotTopBotsResponse, error)` **get** `/radar/verified_bots/top/bots` Retrieves the top verified bots by HTTP requests, with owner and category. ### Parameters - `query VerifiedBotTopBotsParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[VerifiedBotTopBotsParamsFormat]` Format in which results will be returned. - `const VerifiedBotTopBotsParamsFormatJson VerifiedBotTopBotsParamsFormat = "JSON"` - `const VerifiedBotTopBotsParamsFormatCsv VerifiedBotTopBotsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type VerifiedBotTopBotsResponse struct{…}` - `Meta VerifiedBotTopBotsResponseMeta` Metadata for the results. - `ConfidenceInfo VerifiedBotTopBotsResponseMetaConfidenceInfo` - `Annotations []VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotation` - `DataSource VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceAll VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceBGP VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceBots VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceCT VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceDNS VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceDos VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceFw VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceIQI VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceNet VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypeEvent VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypeOutage VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypePipeline VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly VerifiedBotTopBotsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []VerifiedBotTopBotsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization VerifiedBotTopBotsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const VerifiedBotTopBotsResponseMetaNormalizationPercentage VerifiedBotTopBotsResponseMetaNormalization = "PERCENTAGE"` - `const VerifiedBotTopBotsResponseMetaNormalizationMin0Max VerifiedBotTopBotsResponseMetaNormalization = "MIN0_MAX"` - `const VerifiedBotTopBotsResponseMetaNormalizationMinMax VerifiedBotTopBotsResponseMetaNormalization = "MIN_MAX"` - `const VerifiedBotTopBotsResponseMetaNormalizationRawValues VerifiedBotTopBotsResponseMetaNormalization = "RAW_VALUES"` - `const VerifiedBotTopBotsResponseMetaNormalizationPercentageChange VerifiedBotTopBotsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const VerifiedBotTopBotsResponseMetaNormalizationRollingAverage VerifiedBotTopBotsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const VerifiedBotTopBotsResponseMetaNormalizationOverlappedPercentage VerifiedBotTopBotsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const VerifiedBotTopBotsResponseMetaNormalizationRatio VerifiedBotTopBotsResponseMetaNormalization = "RATIO"` - `Units []VerifiedBotTopBotsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []VerifiedBotTopBotsResponseTop0` - `BotCategory string` - `BotName string` - `BotOwner string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.VerifiedBots.Top.Bots(context.TODO(), radar.VerifiedBotTopBotsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "botCategory": "Search Engine Crawler", "botName": "GoogleBot", "botOwner": "Google", "value": "10" } ] }, "success": true } ``` ## Get top verified bot categories by HTTP requests `client.Radar.VerifiedBots.Top.Categories(ctx, query) (*VerifiedBotTopCategoriesResponse, error)` **get** `/radar/verified_bots/top/categories` Retrieves the top verified bot categories by HTTP requests, along with their corresponding percentage, over the total verified bot HTTP requests. ### Parameters - `query VerifiedBotTopCategoriesParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[VerifiedBotTopCategoriesParamsFormat]` Format in which results will be returned. - `const VerifiedBotTopCategoriesParamsFormatJson VerifiedBotTopCategoriesParamsFormat = "JSON"` - `const VerifiedBotTopCategoriesParamsFormatCsv VerifiedBotTopCategoriesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type VerifiedBotTopCategoriesResponse struct{…}` - `Meta VerifiedBotTopCategoriesResponseMeta` Metadata for the results. - `ConfidenceInfo VerifiedBotTopCategoriesResponseMetaConfidenceInfo` - `Annotations []VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotation` - `DataSource VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAll VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBots VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceCT VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDos VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFw VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceNet VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly VerifiedBotTopCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []VerifiedBotTopCategoriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization VerifiedBotTopCategoriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const VerifiedBotTopCategoriesResponseMetaNormalizationPercentage VerifiedBotTopCategoriesResponseMetaNormalization = "PERCENTAGE"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationMin0Max VerifiedBotTopCategoriesResponseMetaNormalization = "MIN0_MAX"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationMinMax VerifiedBotTopCategoriesResponseMetaNormalization = "MIN_MAX"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationRawValues VerifiedBotTopCategoriesResponseMetaNormalization = "RAW_VALUES"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationPercentageChange VerifiedBotTopCategoriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationRollingAverage VerifiedBotTopCategoriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationOverlappedPercentage VerifiedBotTopCategoriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const VerifiedBotTopCategoriesResponseMetaNormalizationRatio VerifiedBotTopCategoriesResponseMetaNormalization = "RATIO"` - `Units []VerifiedBotTopCategoriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []VerifiedBotTopCategoriesResponseTop0` - `BotCategory string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.VerifiedBots.Top.Categories(context.TODO(), radar.VerifiedBotTopCategoriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "botCategory": "Search", "value": "10" } ] }, "success": true } ``` # AS112 ## Get AS112 DNS queries time series `client.Radar.AS112.Timeseries(ctx, query) (*AS112TimeseriesResponse, error)` **get** `/radar/as112/timeseries` Retrieves the AS112 DNS queries over time. ### Parameters - `query AS112TimeseriesParams` - `AggInterval param.Field[AS112TimeseriesParamsAggInterval]` 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/). - `const AS112TimeseriesParamsAggInterval15m AS112TimeseriesParamsAggInterval = "15m"` - `const AS112TimeseriesParamsAggInterval1h AS112TimeseriesParamsAggInterval = "1h"` - `const AS112TimeseriesParamsAggInterval1d AS112TimeseriesParamsAggInterval = "1d"` - `const AS112TimeseriesParamsAggInterval1w AS112TimeseriesParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesParamsFormatJson AS112TimeseriesParamsFormat = "JSON"` - `const AS112TimeseriesParamsFormatCsv AS112TimeseriesParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesParamsProtocolUdp AS112TimeseriesParamsProtocol = "UDP"` - `const AS112TimeseriesParamsProtocolTCP AS112TimeseriesParamsProtocol = "TCP"` - `const AS112TimeseriesParamsProtocolHTTPS AS112TimeseriesParamsProtocol = "HTTPS"` - `const AS112TimeseriesParamsProtocolTLS AS112TimeseriesParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesParamsQueryTypeA AS112TimeseriesParamsQueryType = "A"` - `const AS112TimeseriesParamsQueryTypeAAAA AS112TimeseriesParamsQueryType = "AAAA"` - `const AS112TimeseriesParamsQueryTypeA6 AS112TimeseriesParamsQueryType = "A6"` - `const AS112TimeseriesParamsQueryTypeAfsdb AS112TimeseriesParamsQueryType = "AFSDB"` - `const AS112TimeseriesParamsQueryTypeAny AS112TimeseriesParamsQueryType = "ANY"` - `const AS112TimeseriesParamsQueryTypeApl AS112TimeseriesParamsQueryType = "APL"` - `const AS112TimeseriesParamsQueryTypeAtma AS112TimeseriesParamsQueryType = "ATMA"` - `const AS112TimeseriesParamsQueryTypeAXFR AS112TimeseriesParamsQueryType = "AXFR"` - `const AS112TimeseriesParamsQueryTypeCAA AS112TimeseriesParamsQueryType = "CAA"` - `const AS112TimeseriesParamsQueryTypeCdnskey AS112TimeseriesParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesParamsQueryTypeCds AS112TimeseriesParamsQueryType = "CDS"` - `const AS112TimeseriesParamsQueryTypeCERT AS112TimeseriesParamsQueryType = "CERT"` - `const AS112TimeseriesParamsQueryTypeCNAME AS112TimeseriesParamsQueryType = "CNAME"` - `const AS112TimeseriesParamsQueryTypeCsync AS112TimeseriesParamsQueryType = "CSYNC"` - `const AS112TimeseriesParamsQueryTypeDhcid AS112TimeseriesParamsQueryType = "DHCID"` - `const AS112TimeseriesParamsQueryTypeDlv AS112TimeseriesParamsQueryType = "DLV"` - `const AS112TimeseriesParamsQueryTypeDname AS112TimeseriesParamsQueryType = "DNAME"` - `const AS112TimeseriesParamsQueryTypeDNSKEY AS112TimeseriesParamsQueryType = "DNSKEY"` - `const AS112TimeseriesParamsQueryTypeDoa AS112TimeseriesParamsQueryType = "DOA"` - `const AS112TimeseriesParamsQueryTypeDS AS112TimeseriesParamsQueryType = "DS"` - `const AS112TimeseriesParamsQueryTypeEid AS112TimeseriesParamsQueryType = "EID"` - `const AS112TimeseriesParamsQueryTypeEui48 AS112TimeseriesParamsQueryType = "EUI48"` - `const AS112TimeseriesParamsQueryTypeEui64 AS112TimeseriesParamsQueryType = "EUI64"` - `const AS112TimeseriesParamsQueryTypeGpos AS112TimeseriesParamsQueryType = "GPOS"` - `const AS112TimeseriesParamsQueryTypeGid AS112TimeseriesParamsQueryType = "GID"` - `const AS112TimeseriesParamsQueryTypeHinfo AS112TimeseriesParamsQueryType = "HINFO"` - `const AS112TimeseriesParamsQueryTypeHip AS112TimeseriesParamsQueryType = "HIP"` - `const AS112TimeseriesParamsQueryTypeHTTPS AS112TimeseriesParamsQueryType = "HTTPS"` - `const AS112TimeseriesParamsQueryTypeIpseckey AS112TimeseriesParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesParamsQueryTypeIsdn AS112TimeseriesParamsQueryType = "ISDN"` - `const AS112TimeseriesParamsQueryTypeIxfr AS112TimeseriesParamsQueryType = "IXFR"` - `const AS112TimeseriesParamsQueryTypeKey AS112TimeseriesParamsQueryType = "KEY"` - `const AS112TimeseriesParamsQueryTypeKx AS112TimeseriesParamsQueryType = "KX"` - `const AS112TimeseriesParamsQueryTypeL32 AS112TimeseriesParamsQueryType = "L32"` - `const AS112TimeseriesParamsQueryTypeL64 AS112TimeseriesParamsQueryType = "L64"` - `const AS112TimeseriesParamsQueryTypeLOC AS112TimeseriesParamsQueryType = "LOC"` - `const AS112TimeseriesParamsQueryTypeLp AS112TimeseriesParamsQueryType = "LP"` - `const AS112TimeseriesParamsQueryTypeMaila AS112TimeseriesParamsQueryType = "MAILA"` - `const AS112TimeseriesParamsQueryTypeMailb AS112TimeseriesParamsQueryType = "MAILB"` - `const AS112TimeseriesParamsQueryTypeMB AS112TimeseriesParamsQueryType = "MB"` - `const AS112TimeseriesParamsQueryTypeMd AS112TimeseriesParamsQueryType = "MD"` - `const AS112TimeseriesParamsQueryTypeMf AS112TimeseriesParamsQueryType = "MF"` - `const AS112TimeseriesParamsQueryTypeMg AS112TimeseriesParamsQueryType = "MG"` - `const AS112TimeseriesParamsQueryTypeMinfo AS112TimeseriesParamsQueryType = "MINFO"` - `const AS112TimeseriesParamsQueryTypeMr AS112TimeseriesParamsQueryType = "MR"` - `const AS112TimeseriesParamsQueryTypeMX AS112TimeseriesParamsQueryType = "MX"` - `const AS112TimeseriesParamsQueryTypeNAPTR AS112TimeseriesParamsQueryType = "NAPTR"` - `const AS112TimeseriesParamsQueryTypeNb AS112TimeseriesParamsQueryType = "NB"` - `const AS112TimeseriesParamsQueryTypeNbstat AS112TimeseriesParamsQueryType = "NBSTAT"` - `const AS112TimeseriesParamsQueryTypeNid AS112TimeseriesParamsQueryType = "NID"` - `const AS112TimeseriesParamsQueryTypeNimloc AS112TimeseriesParamsQueryType = "NIMLOC"` - `const AS112TimeseriesParamsQueryTypeNinfo AS112TimeseriesParamsQueryType = "NINFO"` - `const AS112TimeseriesParamsQueryTypeNS AS112TimeseriesParamsQueryType = "NS"` - `const AS112TimeseriesParamsQueryTypeNsap AS112TimeseriesParamsQueryType = "NSAP"` - `const AS112TimeseriesParamsQueryTypeNsec AS112TimeseriesParamsQueryType = "NSEC"` - `const AS112TimeseriesParamsQueryTypeNsec3 AS112TimeseriesParamsQueryType = "NSEC3"` - `const AS112TimeseriesParamsQueryTypeNsec3Param AS112TimeseriesParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesParamsQueryTypeNull AS112TimeseriesParamsQueryType = "NULL"` - `const AS112TimeseriesParamsQueryTypeNxt AS112TimeseriesParamsQueryType = "NXT"` - `const AS112TimeseriesParamsQueryTypeOpenpgpkey AS112TimeseriesParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesParamsQueryTypeOpt AS112TimeseriesParamsQueryType = "OPT"` - `const AS112TimeseriesParamsQueryTypePTR AS112TimeseriesParamsQueryType = "PTR"` - `const AS112TimeseriesParamsQueryTypePx AS112TimeseriesParamsQueryType = "PX"` - `const AS112TimeseriesParamsQueryTypeRkey AS112TimeseriesParamsQueryType = "RKEY"` - `const AS112TimeseriesParamsQueryTypeRp AS112TimeseriesParamsQueryType = "RP"` - `const AS112TimeseriesParamsQueryTypeRrsig AS112TimeseriesParamsQueryType = "RRSIG"` - `const AS112TimeseriesParamsQueryTypeRt AS112TimeseriesParamsQueryType = "RT"` - `const AS112TimeseriesParamsQueryTypeSig AS112TimeseriesParamsQueryType = "SIG"` - `const AS112TimeseriesParamsQueryTypeSink AS112TimeseriesParamsQueryType = "SINK"` - `const AS112TimeseriesParamsQueryTypeSMIMEA AS112TimeseriesParamsQueryType = "SMIMEA"` - `const AS112TimeseriesParamsQueryTypeSOA AS112TimeseriesParamsQueryType = "SOA"` - `const AS112TimeseriesParamsQueryTypeSPF AS112TimeseriesParamsQueryType = "SPF"` - `const AS112TimeseriesParamsQueryTypeSRV AS112TimeseriesParamsQueryType = "SRV"` - `const AS112TimeseriesParamsQueryTypeSSHFP AS112TimeseriesParamsQueryType = "SSHFP"` - `const AS112TimeseriesParamsQueryTypeSVCB AS112TimeseriesParamsQueryType = "SVCB"` - `const AS112TimeseriesParamsQueryTypeTa AS112TimeseriesParamsQueryType = "TA"` - `const AS112TimeseriesParamsQueryTypeTalink AS112TimeseriesParamsQueryType = "TALINK"` - `const AS112TimeseriesParamsQueryTypeTkey AS112TimeseriesParamsQueryType = "TKEY"` - `const AS112TimeseriesParamsQueryTypeTLSA AS112TimeseriesParamsQueryType = "TLSA"` - `const AS112TimeseriesParamsQueryTypeTSIG AS112TimeseriesParamsQueryType = "TSIG"` - `const AS112TimeseriesParamsQueryTypeTXT AS112TimeseriesParamsQueryType = "TXT"` - `const AS112TimeseriesParamsQueryTypeUinfo AS112TimeseriesParamsQueryType = "UINFO"` - `const AS112TimeseriesParamsQueryTypeUID AS112TimeseriesParamsQueryType = "UID"` - `const AS112TimeseriesParamsQueryTypeUnspec AS112TimeseriesParamsQueryType = "UNSPEC"` - `const AS112TimeseriesParamsQueryTypeURI AS112TimeseriesParamsQueryType = "URI"` - `const AS112TimeseriesParamsQueryTypeWks AS112TimeseriesParamsQueryType = "WKS"` - `const AS112TimeseriesParamsQueryTypeX25 AS112TimeseriesParamsQueryType = "X25"` - `const AS112TimeseriesParamsQueryTypeZonemd AS112TimeseriesParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesParamsResponseCodeNoerror AS112TimeseriesParamsResponseCode = "NOERROR"` - `const AS112TimeseriesParamsResponseCodeFormerr AS112TimeseriesParamsResponseCode = "FORMERR"` - `const AS112TimeseriesParamsResponseCodeServfail AS112TimeseriesParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesParamsResponseCodeNxdomain AS112TimeseriesParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesParamsResponseCodeNotimp AS112TimeseriesParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesParamsResponseCodeRefused AS112TimeseriesParamsResponseCode = "REFUSED"` - `const AS112TimeseriesParamsResponseCodeYxdomain AS112TimeseriesParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesParamsResponseCodeYxrrset AS112TimeseriesParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesParamsResponseCodeNxrrset AS112TimeseriesParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesParamsResponseCodeNotauth AS112TimeseriesParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesParamsResponseCodeNotzone AS112TimeseriesParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesParamsResponseCodeBadsig AS112TimeseriesParamsResponseCode = "BADSIG"` - `const AS112TimeseriesParamsResponseCodeBadkey AS112TimeseriesParamsResponseCode = "BADKEY"` - `const AS112TimeseriesParamsResponseCodeBadtime AS112TimeseriesParamsResponseCode = "BADTIME"` - `const AS112TimeseriesParamsResponseCodeBadmode AS112TimeseriesParamsResponseCode = "BADMODE"` - `const AS112TimeseriesParamsResponseCodeBadname AS112TimeseriesParamsResponseCode = "BADNAME"` - `const AS112TimeseriesParamsResponseCodeBadalg AS112TimeseriesParamsResponseCode = "BADALG"` - `const AS112TimeseriesParamsResponseCodeBadtrunc AS112TimeseriesParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesParamsResponseCodeBadcookie AS112TimeseriesParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesResponse struct{…}` - `Meta AS112TimeseriesResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesResponseMetaAggInterval` 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/). - `const AS112TimeseriesResponseMetaAggIntervalFifteenMinutes AS112TimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesResponseMetaAggIntervalOneHour AS112TimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesResponseMetaAggIntervalOneDay AS112TimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesResponseMetaAggIntervalOneWeek AS112TimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesResponseMetaAggIntervalOneMonth AS112TimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesResponseMetaNormalizationPercentage AS112TimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesResponseMetaNormalizationMin0Max AS112TimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesResponseMetaNormalizationMinMax AS112TimeseriesResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesResponseMetaNormalizationRawValues AS112TimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesResponseMetaNormalizationPercentageChange AS112TimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesResponseMetaNormalizationRollingAverage AS112TimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesResponseMetaNormalizationOverlappedPercentage AS112TimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesResponseMetaNormalizationRatio AS112TimeseriesResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Timeseries(context.TODO(), radar.AS112TimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 summary by dimension `client.Radar.AS112.SummaryV2(ctx, dimension, query) (*AS112SummaryV2Response, error)` **get** `/radar/as112/summary/{dimension}` Retrieves the distribution of AS112 queries by the specified dimension. ### Parameters - `dimension AS112SummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const AS112SummaryV2ParamsDimensionDNSSEC AS112SummaryV2ParamsDimension = "DNSSEC"` - `const AS112SummaryV2ParamsDimensionEdns AS112SummaryV2ParamsDimension = "EDNS"` - `const AS112SummaryV2ParamsDimensionIPVersion AS112SummaryV2ParamsDimension = "IP_VERSION"` - `const AS112SummaryV2ParamsDimensionProtocol AS112SummaryV2ParamsDimension = "PROTOCOL"` - `const AS112SummaryV2ParamsDimensionQueryType AS112SummaryV2ParamsDimension = "QUERY_TYPE"` - `const AS112SummaryV2ParamsDimensionResponseCode AS112SummaryV2ParamsDimension = "RESPONSE_CODE"` - `query AS112SummaryV2Params` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryV2ParamsFormat]` Format in which results will be returned. - `const AS112SummaryV2ParamsFormatJson AS112SummaryV2ParamsFormat = "JSON"` - `const AS112SummaryV2ParamsFormatCsv AS112SummaryV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryV2ParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryV2ParamsProtocolUdp AS112SummaryV2ParamsProtocol = "UDP"` - `const AS112SummaryV2ParamsProtocolTCP AS112SummaryV2ParamsProtocol = "TCP"` - `const AS112SummaryV2ParamsProtocolHTTPS AS112SummaryV2ParamsProtocol = "HTTPS"` - `const AS112SummaryV2ParamsProtocolTLS AS112SummaryV2ParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112SummaryV2ParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryV2ParamsQueryTypeA AS112SummaryV2ParamsQueryType = "A"` - `const AS112SummaryV2ParamsQueryTypeAAAA AS112SummaryV2ParamsQueryType = "AAAA"` - `const AS112SummaryV2ParamsQueryTypeA6 AS112SummaryV2ParamsQueryType = "A6"` - `const AS112SummaryV2ParamsQueryTypeAfsdb AS112SummaryV2ParamsQueryType = "AFSDB"` - `const AS112SummaryV2ParamsQueryTypeAny AS112SummaryV2ParamsQueryType = "ANY"` - `const AS112SummaryV2ParamsQueryTypeApl AS112SummaryV2ParamsQueryType = "APL"` - `const AS112SummaryV2ParamsQueryTypeAtma AS112SummaryV2ParamsQueryType = "ATMA"` - `const AS112SummaryV2ParamsQueryTypeAXFR AS112SummaryV2ParamsQueryType = "AXFR"` - `const AS112SummaryV2ParamsQueryTypeCAA AS112SummaryV2ParamsQueryType = "CAA"` - `const AS112SummaryV2ParamsQueryTypeCdnskey AS112SummaryV2ParamsQueryType = "CDNSKEY"` - `const AS112SummaryV2ParamsQueryTypeCds AS112SummaryV2ParamsQueryType = "CDS"` - `const AS112SummaryV2ParamsQueryTypeCERT AS112SummaryV2ParamsQueryType = "CERT"` - `const AS112SummaryV2ParamsQueryTypeCNAME AS112SummaryV2ParamsQueryType = "CNAME"` - `const AS112SummaryV2ParamsQueryTypeCsync AS112SummaryV2ParamsQueryType = "CSYNC"` - `const AS112SummaryV2ParamsQueryTypeDhcid AS112SummaryV2ParamsQueryType = "DHCID"` - `const AS112SummaryV2ParamsQueryTypeDlv AS112SummaryV2ParamsQueryType = "DLV"` - `const AS112SummaryV2ParamsQueryTypeDname AS112SummaryV2ParamsQueryType = "DNAME"` - `const AS112SummaryV2ParamsQueryTypeDNSKEY AS112SummaryV2ParamsQueryType = "DNSKEY"` - `const AS112SummaryV2ParamsQueryTypeDoa AS112SummaryV2ParamsQueryType = "DOA"` - `const AS112SummaryV2ParamsQueryTypeDS AS112SummaryV2ParamsQueryType = "DS"` - `const AS112SummaryV2ParamsQueryTypeEid AS112SummaryV2ParamsQueryType = "EID"` - `const AS112SummaryV2ParamsQueryTypeEui48 AS112SummaryV2ParamsQueryType = "EUI48"` - `const AS112SummaryV2ParamsQueryTypeEui64 AS112SummaryV2ParamsQueryType = "EUI64"` - `const AS112SummaryV2ParamsQueryTypeGpos AS112SummaryV2ParamsQueryType = "GPOS"` - `const AS112SummaryV2ParamsQueryTypeGid AS112SummaryV2ParamsQueryType = "GID"` - `const AS112SummaryV2ParamsQueryTypeHinfo AS112SummaryV2ParamsQueryType = "HINFO"` - `const AS112SummaryV2ParamsQueryTypeHip AS112SummaryV2ParamsQueryType = "HIP"` - `const AS112SummaryV2ParamsQueryTypeHTTPS AS112SummaryV2ParamsQueryType = "HTTPS"` - `const AS112SummaryV2ParamsQueryTypeIpseckey AS112SummaryV2ParamsQueryType = "IPSECKEY"` - `const AS112SummaryV2ParamsQueryTypeIsdn AS112SummaryV2ParamsQueryType = "ISDN"` - `const AS112SummaryV2ParamsQueryTypeIxfr AS112SummaryV2ParamsQueryType = "IXFR"` - `const AS112SummaryV2ParamsQueryTypeKey AS112SummaryV2ParamsQueryType = "KEY"` - `const AS112SummaryV2ParamsQueryTypeKx AS112SummaryV2ParamsQueryType = "KX"` - `const AS112SummaryV2ParamsQueryTypeL32 AS112SummaryV2ParamsQueryType = "L32"` - `const AS112SummaryV2ParamsQueryTypeL64 AS112SummaryV2ParamsQueryType = "L64"` - `const AS112SummaryV2ParamsQueryTypeLOC AS112SummaryV2ParamsQueryType = "LOC"` - `const AS112SummaryV2ParamsQueryTypeLp AS112SummaryV2ParamsQueryType = "LP"` - `const AS112SummaryV2ParamsQueryTypeMaila AS112SummaryV2ParamsQueryType = "MAILA"` - `const AS112SummaryV2ParamsQueryTypeMailb AS112SummaryV2ParamsQueryType = "MAILB"` - `const AS112SummaryV2ParamsQueryTypeMB AS112SummaryV2ParamsQueryType = "MB"` - `const AS112SummaryV2ParamsQueryTypeMd AS112SummaryV2ParamsQueryType = "MD"` - `const AS112SummaryV2ParamsQueryTypeMf AS112SummaryV2ParamsQueryType = "MF"` - `const AS112SummaryV2ParamsQueryTypeMg AS112SummaryV2ParamsQueryType = "MG"` - `const AS112SummaryV2ParamsQueryTypeMinfo AS112SummaryV2ParamsQueryType = "MINFO"` - `const AS112SummaryV2ParamsQueryTypeMr AS112SummaryV2ParamsQueryType = "MR"` - `const AS112SummaryV2ParamsQueryTypeMX AS112SummaryV2ParamsQueryType = "MX"` - `const AS112SummaryV2ParamsQueryTypeNAPTR AS112SummaryV2ParamsQueryType = "NAPTR"` - `const AS112SummaryV2ParamsQueryTypeNb AS112SummaryV2ParamsQueryType = "NB"` - `const AS112SummaryV2ParamsQueryTypeNbstat AS112SummaryV2ParamsQueryType = "NBSTAT"` - `const AS112SummaryV2ParamsQueryTypeNid AS112SummaryV2ParamsQueryType = "NID"` - `const AS112SummaryV2ParamsQueryTypeNimloc AS112SummaryV2ParamsQueryType = "NIMLOC"` - `const AS112SummaryV2ParamsQueryTypeNinfo AS112SummaryV2ParamsQueryType = "NINFO"` - `const AS112SummaryV2ParamsQueryTypeNS AS112SummaryV2ParamsQueryType = "NS"` - `const AS112SummaryV2ParamsQueryTypeNsap AS112SummaryV2ParamsQueryType = "NSAP"` - `const AS112SummaryV2ParamsQueryTypeNsec AS112SummaryV2ParamsQueryType = "NSEC"` - `const AS112SummaryV2ParamsQueryTypeNsec3 AS112SummaryV2ParamsQueryType = "NSEC3"` - `const AS112SummaryV2ParamsQueryTypeNsec3Param AS112SummaryV2ParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryV2ParamsQueryTypeNull AS112SummaryV2ParamsQueryType = "NULL"` - `const AS112SummaryV2ParamsQueryTypeNxt AS112SummaryV2ParamsQueryType = "NXT"` - `const AS112SummaryV2ParamsQueryTypeOpenpgpkey AS112SummaryV2ParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryV2ParamsQueryTypeOpt AS112SummaryV2ParamsQueryType = "OPT"` - `const AS112SummaryV2ParamsQueryTypePTR AS112SummaryV2ParamsQueryType = "PTR"` - `const AS112SummaryV2ParamsQueryTypePx AS112SummaryV2ParamsQueryType = "PX"` - `const AS112SummaryV2ParamsQueryTypeRkey AS112SummaryV2ParamsQueryType = "RKEY"` - `const AS112SummaryV2ParamsQueryTypeRp AS112SummaryV2ParamsQueryType = "RP"` - `const AS112SummaryV2ParamsQueryTypeRrsig AS112SummaryV2ParamsQueryType = "RRSIG"` - `const AS112SummaryV2ParamsQueryTypeRt AS112SummaryV2ParamsQueryType = "RT"` - `const AS112SummaryV2ParamsQueryTypeSig AS112SummaryV2ParamsQueryType = "SIG"` - `const AS112SummaryV2ParamsQueryTypeSink AS112SummaryV2ParamsQueryType = "SINK"` - `const AS112SummaryV2ParamsQueryTypeSMIMEA AS112SummaryV2ParamsQueryType = "SMIMEA"` - `const AS112SummaryV2ParamsQueryTypeSOA AS112SummaryV2ParamsQueryType = "SOA"` - `const AS112SummaryV2ParamsQueryTypeSPF AS112SummaryV2ParamsQueryType = "SPF"` - `const AS112SummaryV2ParamsQueryTypeSRV AS112SummaryV2ParamsQueryType = "SRV"` - `const AS112SummaryV2ParamsQueryTypeSSHFP AS112SummaryV2ParamsQueryType = "SSHFP"` - `const AS112SummaryV2ParamsQueryTypeSVCB AS112SummaryV2ParamsQueryType = "SVCB"` - `const AS112SummaryV2ParamsQueryTypeTa AS112SummaryV2ParamsQueryType = "TA"` - `const AS112SummaryV2ParamsQueryTypeTalink AS112SummaryV2ParamsQueryType = "TALINK"` - `const AS112SummaryV2ParamsQueryTypeTkey AS112SummaryV2ParamsQueryType = "TKEY"` - `const AS112SummaryV2ParamsQueryTypeTLSA AS112SummaryV2ParamsQueryType = "TLSA"` - `const AS112SummaryV2ParamsQueryTypeTSIG AS112SummaryV2ParamsQueryType = "TSIG"` - `const AS112SummaryV2ParamsQueryTypeTXT AS112SummaryV2ParamsQueryType = "TXT"` - `const AS112SummaryV2ParamsQueryTypeUinfo AS112SummaryV2ParamsQueryType = "UINFO"` - `const AS112SummaryV2ParamsQueryTypeUID AS112SummaryV2ParamsQueryType = "UID"` - `const AS112SummaryV2ParamsQueryTypeUnspec AS112SummaryV2ParamsQueryType = "UNSPEC"` - `const AS112SummaryV2ParamsQueryTypeURI AS112SummaryV2ParamsQueryType = "URI"` - `const AS112SummaryV2ParamsQueryTypeWks AS112SummaryV2ParamsQueryType = "WKS"` - `const AS112SummaryV2ParamsQueryTypeX25 AS112SummaryV2ParamsQueryType = "X25"` - `const AS112SummaryV2ParamsQueryTypeZonemd AS112SummaryV2ParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112SummaryV2ParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryV2ParamsResponseCodeNoerror AS112SummaryV2ParamsResponseCode = "NOERROR"` - `const AS112SummaryV2ParamsResponseCodeFormerr AS112SummaryV2ParamsResponseCode = "FORMERR"` - `const AS112SummaryV2ParamsResponseCodeServfail AS112SummaryV2ParamsResponseCode = "SERVFAIL"` - `const AS112SummaryV2ParamsResponseCodeNxdomain AS112SummaryV2ParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryV2ParamsResponseCodeNotimp AS112SummaryV2ParamsResponseCode = "NOTIMP"` - `const AS112SummaryV2ParamsResponseCodeRefused AS112SummaryV2ParamsResponseCode = "REFUSED"` - `const AS112SummaryV2ParamsResponseCodeYxdomain AS112SummaryV2ParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryV2ParamsResponseCodeYxrrset AS112SummaryV2ParamsResponseCode = "YXRRSET"` - `const AS112SummaryV2ParamsResponseCodeNxrrset AS112SummaryV2ParamsResponseCode = "NXRRSET"` - `const AS112SummaryV2ParamsResponseCodeNotauth AS112SummaryV2ParamsResponseCode = "NOTAUTH"` - `const AS112SummaryV2ParamsResponseCodeNotzone AS112SummaryV2ParamsResponseCode = "NOTZONE"` - `const AS112SummaryV2ParamsResponseCodeBadsig AS112SummaryV2ParamsResponseCode = "BADSIG"` - `const AS112SummaryV2ParamsResponseCodeBadkey AS112SummaryV2ParamsResponseCode = "BADKEY"` - `const AS112SummaryV2ParamsResponseCodeBadtime AS112SummaryV2ParamsResponseCode = "BADTIME"` - `const AS112SummaryV2ParamsResponseCodeBadmode AS112SummaryV2ParamsResponseCode = "BADMODE"` - `const AS112SummaryV2ParamsResponseCodeBadname AS112SummaryV2ParamsResponseCode = "BADNAME"` - `const AS112SummaryV2ParamsResponseCodeBadalg AS112SummaryV2ParamsResponseCode = "BADALG"` - `const AS112SummaryV2ParamsResponseCodeBadtrunc AS112SummaryV2ParamsResponseCode = "BADTRUNC"` - `const AS112SummaryV2ParamsResponseCodeBadcookie AS112SummaryV2ParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryV2Response struct{…}` - `Meta AS112SummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryV2ResponseMetaConfidenceInfo` - `Annotations []AS112SummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryV2ResponseMetaNormalizationPercentage AS112SummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryV2ResponseMetaNormalizationMin0Max AS112SummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryV2ResponseMetaNormalizationMinMax AS112SummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryV2ResponseMetaNormalizationRawValues AS112SummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryV2ResponseMetaNormalizationPercentageChange AS112SummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryV2ResponseMetaNormalizationRollingAverage AS112SummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryV2ResponseMetaNormalizationOverlappedPercentage AS112SummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryV2ResponseMetaNormalizationRatio AS112SummaryV2ResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.SummaryV2( context.TODO(), radar.AS112SummaryV2ParamsDimensionDNSSEC, radar.AS112SummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 time series grouped by dimension `client.Radar.AS112.TimeseriesGroupsV2(ctx, dimension, query) (*AS112TimeseriesGroupsV2Response, error)` **get** `/radar/as112/timeseries_groups/{dimension}` Retrieves the distribution of AS112 queries grouped by dimension over time. ### Parameters - `dimension AS112TimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const AS112TimeseriesGroupsV2ParamsDimensionDNSSEC AS112TimeseriesGroupsV2ParamsDimension = "DNSSEC"` - `const AS112TimeseriesGroupsV2ParamsDimensionEdns AS112TimeseriesGroupsV2ParamsDimension = "EDNS"` - `const AS112TimeseriesGroupsV2ParamsDimensionIPVersion AS112TimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const AS112TimeseriesGroupsV2ParamsDimensionProtocol AS112TimeseriesGroupsV2ParamsDimension = "PROTOCOL"` - `const AS112TimeseriesGroupsV2ParamsDimensionQueryType AS112TimeseriesGroupsV2ParamsDimension = "QUERY_TYPE"` - `const AS112TimeseriesGroupsV2ParamsDimensionResponseCode AS112TimeseriesGroupsV2ParamsDimension = "RESPONSE_CODE"` - `query AS112TimeseriesGroupsV2Params` - `AggInterval param.Field[AS112TimeseriesGroupsV2ParamsAggInterval]` 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/). - `const AS112TimeseriesGroupsV2ParamsAggInterval15m AS112TimeseriesGroupsV2ParamsAggInterval = "15m"` - `const AS112TimeseriesGroupsV2ParamsAggInterval1h AS112TimeseriesGroupsV2ParamsAggInterval = "1h"` - `const AS112TimeseriesGroupsV2ParamsAggInterval1d AS112TimeseriesGroupsV2ParamsAggInterval = "1d"` - `const AS112TimeseriesGroupsV2ParamsAggInterval1w AS112TimeseriesGroupsV2ParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupsV2ParamsFormatJson AS112TimeseriesGroupsV2ParamsFormat = "JSON"` - `const AS112TimeseriesGroupsV2ParamsFormatCsv AS112TimeseriesGroupsV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupsV2ParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupsV2ParamsProtocolUdp AS112TimeseriesGroupsV2ParamsProtocol = "UDP"` - `const AS112TimeseriesGroupsV2ParamsProtocolTCP AS112TimeseriesGroupsV2ParamsProtocol = "TCP"` - `const AS112TimeseriesGroupsV2ParamsProtocolHTTPS AS112TimeseriesGroupsV2ParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupsV2ParamsProtocolTLS AS112TimeseriesGroupsV2ParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesGroupsV2ParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupsV2ParamsQueryTypeA AS112TimeseriesGroupsV2ParamsQueryType = "A"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeAAAA AS112TimeseriesGroupsV2ParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeA6 AS112TimeseriesGroupsV2ParamsQueryType = "A6"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeAfsdb AS112TimeseriesGroupsV2ParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeAny AS112TimeseriesGroupsV2ParamsQueryType = "ANY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeApl AS112TimeseriesGroupsV2ParamsQueryType = "APL"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeAtma AS112TimeseriesGroupsV2ParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeAXFR AS112TimeseriesGroupsV2ParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCAA AS112TimeseriesGroupsV2ParamsQueryType = "CAA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCdnskey AS112TimeseriesGroupsV2ParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCds AS112TimeseriesGroupsV2ParamsQueryType = "CDS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCERT AS112TimeseriesGroupsV2ParamsQueryType = "CERT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCNAME AS112TimeseriesGroupsV2ParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeCsync AS112TimeseriesGroupsV2ParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDhcid AS112TimeseriesGroupsV2ParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDlv AS112TimeseriesGroupsV2ParamsQueryType = "DLV"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDname AS112TimeseriesGroupsV2ParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDNSKEY AS112TimeseriesGroupsV2ParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDoa AS112TimeseriesGroupsV2ParamsQueryType = "DOA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeDS AS112TimeseriesGroupsV2ParamsQueryType = "DS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeEid AS112TimeseriesGroupsV2ParamsQueryType = "EID"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeEui48 AS112TimeseriesGroupsV2ParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeEui64 AS112TimeseriesGroupsV2ParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeGpos AS112TimeseriesGroupsV2ParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeGid AS112TimeseriesGroupsV2ParamsQueryType = "GID"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeHinfo AS112TimeseriesGroupsV2ParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeHip AS112TimeseriesGroupsV2ParamsQueryType = "HIP"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeHTTPS AS112TimeseriesGroupsV2ParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeIpseckey AS112TimeseriesGroupsV2ParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeIsdn AS112TimeseriesGroupsV2ParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeIxfr AS112TimeseriesGroupsV2ParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeKey AS112TimeseriesGroupsV2ParamsQueryType = "KEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeKx AS112TimeseriesGroupsV2ParamsQueryType = "KX"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeL32 AS112TimeseriesGroupsV2ParamsQueryType = "L32"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeL64 AS112TimeseriesGroupsV2ParamsQueryType = "L64"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeLOC AS112TimeseriesGroupsV2ParamsQueryType = "LOC"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeLp AS112TimeseriesGroupsV2ParamsQueryType = "LP"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMaila AS112TimeseriesGroupsV2ParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMailb AS112TimeseriesGroupsV2ParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMB AS112TimeseriesGroupsV2ParamsQueryType = "MB"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMd AS112TimeseriesGroupsV2ParamsQueryType = "MD"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMf AS112TimeseriesGroupsV2ParamsQueryType = "MF"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMg AS112TimeseriesGroupsV2ParamsQueryType = "MG"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMinfo AS112TimeseriesGroupsV2ParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMr AS112TimeseriesGroupsV2ParamsQueryType = "MR"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeMX AS112TimeseriesGroupsV2ParamsQueryType = "MX"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNAPTR AS112TimeseriesGroupsV2ParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNb AS112TimeseriesGroupsV2ParamsQueryType = "NB"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNbstat AS112TimeseriesGroupsV2ParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNid AS112TimeseriesGroupsV2ParamsQueryType = "NID"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNimloc AS112TimeseriesGroupsV2ParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNinfo AS112TimeseriesGroupsV2ParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNS AS112TimeseriesGroupsV2ParamsQueryType = "NS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNsap AS112TimeseriesGroupsV2ParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNsec AS112TimeseriesGroupsV2ParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNsec3 AS112TimeseriesGroupsV2ParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNsec3Param AS112TimeseriesGroupsV2ParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNull AS112TimeseriesGroupsV2ParamsQueryType = "NULL"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeNxt AS112TimeseriesGroupsV2ParamsQueryType = "NXT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeOpenpgpkey AS112TimeseriesGroupsV2ParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeOpt AS112TimeseriesGroupsV2ParamsQueryType = "OPT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypePTR AS112TimeseriesGroupsV2ParamsQueryType = "PTR"` - `const AS112TimeseriesGroupsV2ParamsQueryTypePx AS112TimeseriesGroupsV2ParamsQueryType = "PX"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeRkey AS112TimeseriesGroupsV2ParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeRp AS112TimeseriesGroupsV2ParamsQueryType = "RP"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeRrsig AS112TimeseriesGroupsV2ParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeRt AS112TimeseriesGroupsV2ParamsQueryType = "RT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSig AS112TimeseriesGroupsV2ParamsQueryType = "SIG"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSink AS112TimeseriesGroupsV2ParamsQueryType = "SINK"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSMIMEA AS112TimeseriesGroupsV2ParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSOA AS112TimeseriesGroupsV2ParamsQueryType = "SOA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSPF AS112TimeseriesGroupsV2ParamsQueryType = "SPF"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSRV AS112TimeseriesGroupsV2ParamsQueryType = "SRV"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSSHFP AS112TimeseriesGroupsV2ParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeSVCB AS112TimeseriesGroupsV2ParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTa AS112TimeseriesGroupsV2ParamsQueryType = "TA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTalink AS112TimeseriesGroupsV2ParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTkey AS112TimeseriesGroupsV2ParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTLSA AS112TimeseriesGroupsV2ParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTSIG AS112TimeseriesGroupsV2ParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeTXT AS112TimeseriesGroupsV2ParamsQueryType = "TXT"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeUinfo AS112TimeseriesGroupsV2ParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeUID AS112TimeseriesGroupsV2ParamsQueryType = "UID"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeUnspec AS112TimeseriesGroupsV2ParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeURI AS112TimeseriesGroupsV2ParamsQueryType = "URI"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeWks AS112TimeseriesGroupsV2ParamsQueryType = "WKS"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeX25 AS112TimeseriesGroupsV2ParamsQueryType = "X25"` - `const AS112TimeseriesGroupsV2ParamsQueryTypeZonemd AS112TimeseriesGroupsV2ParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesGroupsV2ParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupsV2ParamsResponseCodeNoerror AS112TimeseriesGroupsV2ParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeFormerr AS112TimeseriesGroupsV2ParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeServfail AS112TimeseriesGroupsV2ParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeNxdomain AS112TimeseriesGroupsV2ParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeNotimp AS112TimeseriesGroupsV2ParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeRefused AS112TimeseriesGroupsV2ParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeYxdomain AS112TimeseriesGroupsV2ParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeYxrrset AS112TimeseriesGroupsV2ParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeNxrrset AS112TimeseriesGroupsV2ParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeNotauth AS112TimeseriesGroupsV2ParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeNotzone AS112TimeseriesGroupsV2ParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadsig AS112TimeseriesGroupsV2ParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadkey AS112TimeseriesGroupsV2ParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadtime AS112TimeseriesGroupsV2ParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadmode AS112TimeseriesGroupsV2ParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadname AS112TimeseriesGroupsV2ParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadalg AS112TimeseriesGroupsV2ParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadtrunc AS112TimeseriesGroupsV2ParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupsV2ParamsResponseCodeBadcookie AS112TimeseriesGroupsV2ParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupsV2Response struct{…}` - `Meta AS112TimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupsV2ResponseMetaAggIntervalOneHour AS112TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupsV2ResponseMetaAggIntervalOneDay AS112TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupsV2ResponseMetaAggIntervalOneWeek AS112TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupsV2ResponseMetaAggIntervalOneMonth AS112TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationPercentage AS112TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationMin0Max AS112TimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationMinMax AS112TimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationRawValues AS112TimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationPercentageChange AS112TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationRollingAverage AS112TimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupsV2ResponseMetaNormalizationRatio AS112TimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroupsV2( context.TODO(), radar.AS112TimeseriesGroupsV2ParamsDimensionDNSSEC, radar.AS112TimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get AS112 DNS queries by DNSSEC summary `client.Radar.AS112.Summary.DNSSEC(ctx, query) (*AS112SummaryDNSSECResponse, error)` **get** `/radar/as112/summary/dnssec` Retrieves the distribution of DNS queries to AS112 by DNSSEC (DNS Security Extensions) support. ### Parameters - `query AS112SummaryDNSSECParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryDNSSECParamsFormat]` Format in which results will be returned. - `const AS112SummaryDNSSECParamsFormatJson AS112SummaryDNSSECParamsFormat = "JSON"` - `const AS112SummaryDNSSECParamsFormatCsv AS112SummaryDNSSECParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryDNSSECParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryDNSSECParamsProtocolUdp AS112SummaryDNSSECParamsProtocol = "UDP"` - `const AS112SummaryDNSSECParamsProtocolTCP AS112SummaryDNSSECParamsProtocol = "TCP"` - `const AS112SummaryDNSSECParamsProtocolHTTPS AS112SummaryDNSSECParamsProtocol = "HTTPS"` - `const AS112SummaryDNSSECParamsProtocolTLS AS112SummaryDNSSECParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112SummaryDNSSECParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryDNSSECParamsQueryTypeA AS112SummaryDNSSECParamsQueryType = "A"` - `const AS112SummaryDNSSECParamsQueryTypeAAAA AS112SummaryDNSSECParamsQueryType = "AAAA"` - `const AS112SummaryDNSSECParamsQueryTypeA6 AS112SummaryDNSSECParamsQueryType = "A6"` - `const AS112SummaryDNSSECParamsQueryTypeAfsdb AS112SummaryDNSSECParamsQueryType = "AFSDB"` - `const AS112SummaryDNSSECParamsQueryTypeAny AS112SummaryDNSSECParamsQueryType = "ANY"` - `const AS112SummaryDNSSECParamsQueryTypeApl AS112SummaryDNSSECParamsQueryType = "APL"` - `const AS112SummaryDNSSECParamsQueryTypeAtma AS112SummaryDNSSECParamsQueryType = "ATMA"` - `const AS112SummaryDNSSECParamsQueryTypeAXFR AS112SummaryDNSSECParamsQueryType = "AXFR"` - `const AS112SummaryDNSSECParamsQueryTypeCAA AS112SummaryDNSSECParamsQueryType = "CAA"` - `const AS112SummaryDNSSECParamsQueryTypeCdnskey AS112SummaryDNSSECParamsQueryType = "CDNSKEY"` - `const AS112SummaryDNSSECParamsQueryTypeCds AS112SummaryDNSSECParamsQueryType = "CDS"` - `const AS112SummaryDNSSECParamsQueryTypeCERT AS112SummaryDNSSECParamsQueryType = "CERT"` - `const AS112SummaryDNSSECParamsQueryTypeCNAME AS112SummaryDNSSECParamsQueryType = "CNAME"` - `const AS112SummaryDNSSECParamsQueryTypeCsync AS112SummaryDNSSECParamsQueryType = "CSYNC"` - `const AS112SummaryDNSSECParamsQueryTypeDhcid AS112SummaryDNSSECParamsQueryType = "DHCID"` - `const AS112SummaryDNSSECParamsQueryTypeDlv AS112SummaryDNSSECParamsQueryType = "DLV"` - `const AS112SummaryDNSSECParamsQueryTypeDname AS112SummaryDNSSECParamsQueryType = "DNAME"` - `const AS112SummaryDNSSECParamsQueryTypeDNSKEY AS112SummaryDNSSECParamsQueryType = "DNSKEY"` - `const AS112SummaryDNSSECParamsQueryTypeDoa AS112SummaryDNSSECParamsQueryType = "DOA"` - `const AS112SummaryDNSSECParamsQueryTypeDS AS112SummaryDNSSECParamsQueryType = "DS"` - `const AS112SummaryDNSSECParamsQueryTypeEid AS112SummaryDNSSECParamsQueryType = "EID"` - `const AS112SummaryDNSSECParamsQueryTypeEui48 AS112SummaryDNSSECParamsQueryType = "EUI48"` - `const AS112SummaryDNSSECParamsQueryTypeEui64 AS112SummaryDNSSECParamsQueryType = "EUI64"` - `const AS112SummaryDNSSECParamsQueryTypeGpos AS112SummaryDNSSECParamsQueryType = "GPOS"` - `const AS112SummaryDNSSECParamsQueryTypeGid AS112SummaryDNSSECParamsQueryType = "GID"` - `const AS112SummaryDNSSECParamsQueryTypeHinfo AS112SummaryDNSSECParamsQueryType = "HINFO"` - `const AS112SummaryDNSSECParamsQueryTypeHip AS112SummaryDNSSECParamsQueryType = "HIP"` - `const AS112SummaryDNSSECParamsQueryTypeHTTPS AS112SummaryDNSSECParamsQueryType = "HTTPS"` - `const AS112SummaryDNSSECParamsQueryTypeIpseckey AS112SummaryDNSSECParamsQueryType = "IPSECKEY"` - `const AS112SummaryDNSSECParamsQueryTypeIsdn AS112SummaryDNSSECParamsQueryType = "ISDN"` - `const AS112SummaryDNSSECParamsQueryTypeIxfr AS112SummaryDNSSECParamsQueryType = "IXFR"` - `const AS112SummaryDNSSECParamsQueryTypeKey AS112SummaryDNSSECParamsQueryType = "KEY"` - `const AS112SummaryDNSSECParamsQueryTypeKx AS112SummaryDNSSECParamsQueryType = "KX"` - `const AS112SummaryDNSSECParamsQueryTypeL32 AS112SummaryDNSSECParamsQueryType = "L32"` - `const AS112SummaryDNSSECParamsQueryTypeL64 AS112SummaryDNSSECParamsQueryType = "L64"` - `const AS112SummaryDNSSECParamsQueryTypeLOC AS112SummaryDNSSECParamsQueryType = "LOC"` - `const AS112SummaryDNSSECParamsQueryTypeLp AS112SummaryDNSSECParamsQueryType = "LP"` - `const AS112SummaryDNSSECParamsQueryTypeMaila AS112SummaryDNSSECParamsQueryType = "MAILA"` - `const AS112SummaryDNSSECParamsQueryTypeMailb AS112SummaryDNSSECParamsQueryType = "MAILB"` - `const AS112SummaryDNSSECParamsQueryTypeMB AS112SummaryDNSSECParamsQueryType = "MB"` - `const AS112SummaryDNSSECParamsQueryTypeMd AS112SummaryDNSSECParamsQueryType = "MD"` - `const AS112SummaryDNSSECParamsQueryTypeMf AS112SummaryDNSSECParamsQueryType = "MF"` - `const AS112SummaryDNSSECParamsQueryTypeMg AS112SummaryDNSSECParamsQueryType = "MG"` - `const AS112SummaryDNSSECParamsQueryTypeMinfo AS112SummaryDNSSECParamsQueryType = "MINFO"` - `const AS112SummaryDNSSECParamsQueryTypeMr AS112SummaryDNSSECParamsQueryType = "MR"` - `const AS112SummaryDNSSECParamsQueryTypeMX AS112SummaryDNSSECParamsQueryType = "MX"` - `const AS112SummaryDNSSECParamsQueryTypeNAPTR AS112SummaryDNSSECParamsQueryType = "NAPTR"` - `const AS112SummaryDNSSECParamsQueryTypeNb AS112SummaryDNSSECParamsQueryType = "NB"` - `const AS112SummaryDNSSECParamsQueryTypeNbstat AS112SummaryDNSSECParamsQueryType = "NBSTAT"` - `const AS112SummaryDNSSECParamsQueryTypeNid AS112SummaryDNSSECParamsQueryType = "NID"` - `const AS112SummaryDNSSECParamsQueryTypeNimloc AS112SummaryDNSSECParamsQueryType = "NIMLOC"` - `const AS112SummaryDNSSECParamsQueryTypeNinfo AS112SummaryDNSSECParamsQueryType = "NINFO"` - `const AS112SummaryDNSSECParamsQueryTypeNS AS112SummaryDNSSECParamsQueryType = "NS"` - `const AS112SummaryDNSSECParamsQueryTypeNsap AS112SummaryDNSSECParamsQueryType = "NSAP"` - `const AS112SummaryDNSSECParamsQueryTypeNsec AS112SummaryDNSSECParamsQueryType = "NSEC"` - `const AS112SummaryDNSSECParamsQueryTypeNsec3 AS112SummaryDNSSECParamsQueryType = "NSEC3"` - `const AS112SummaryDNSSECParamsQueryTypeNsec3Param AS112SummaryDNSSECParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryDNSSECParamsQueryTypeNull AS112SummaryDNSSECParamsQueryType = "NULL"` - `const AS112SummaryDNSSECParamsQueryTypeNxt AS112SummaryDNSSECParamsQueryType = "NXT"` - `const AS112SummaryDNSSECParamsQueryTypeOpenpgpkey AS112SummaryDNSSECParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryDNSSECParamsQueryTypeOpt AS112SummaryDNSSECParamsQueryType = "OPT"` - `const AS112SummaryDNSSECParamsQueryTypePTR AS112SummaryDNSSECParamsQueryType = "PTR"` - `const AS112SummaryDNSSECParamsQueryTypePx AS112SummaryDNSSECParamsQueryType = "PX"` - `const AS112SummaryDNSSECParamsQueryTypeRkey AS112SummaryDNSSECParamsQueryType = "RKEY"` - `const AS112SummaryDNSSECParamsQueryTypeRp AS112SummaryDNSSECParamsQueryType = "RP"` - `const AS112SummaryDNSSECParamsQueryTypeRrsig AS112SummaryDNSSECParamsQueryType = "RRSIG"` - `const AS112SummaryDNSSECParamsQueryTypeRt AS112SummaryDNSSECParamsQueryType = "RT"` - `const AS112SummaryDNSSECParamsQueryTypeSig AS112SummaryDNSSECParamsQueryType = "SIG"` - `const AS112SummaryDNSSECParamsQueryTypeSink AS112SummaryDNSSECParamsQueryType = "SINK"` - `const AS112SummaryDNSSECParamsQueryTypeSMIMEA AS112SummaryDNSSECParamsQueryType = "SMIMEA"` - `const AS112SummaryDNSSECParamsQueryTypeSOA AS112SummaryDNSSECParamsQueryType = "SOA"` - `const AS112SummaryDNSSECParamsQueryTypeSPF AS112SummaryDNSSECParamsQueryType = "SPF"` - `const AS112SummaryDNSSECParamsQueryTypeSRV AS112SummaryDNSSECParamsQueryType = "SRV"` - `const AS112SummaryDNSSECParamsQueryTypeSSHFP AS112SummaryDNSSECParamsQueryType = "SSHFP"` - `const AS112SummaryDNSSECParamsQueryTypeSVCB AS112SummaryDNSSECParamsQueryType = "SVCB"` - `const AS112SummaryDNSSECParamsQueryTypeTa AS112SummaryDNSSECParamsQueryType = "TA"` - `const AS112SummaryDNSSECParamsQueryTypeTalink AS112SummaryDNSSECParamsQueryType = "TALINK"` - `const AS112SummaryDNSSECParamsQueryTypeTkey AS112SummaryDNSSECParamsQueryType = "TKEY"` - `const AS112SummaryDNSSECParamsQueryTypeTLSA AS112SummaryDNSSECParamsQueryType = "TLSA"` - `const AS112SummaryDNSSECParamsQueryTypeTSIG AS112SummaryDNSSECParamsQueryType = "TSIG"` - `const AS112SummaryDNSSECParamsQueryTypeTXT AS112SummaryDNSSECParamsQueryType = "TXT"` - `const AS112SummaryDNSSECParamsQueryTypeUinfo AS112SummaryDNSSECParamsQueryType = "UINFO"` - `const AS112SummaryDNSSECParamsQueryTypeUID AS112SummaryDNSSECParamsQueryType = "UID"` - `const AS112SummaryDNSSECParamsQueryTypeUnspec AS112SummaryDNSSECParamsQueryType = "UNSPEC"` - `const AS112SummaryDNSSECParamsQueryTypeURI AS112SummaryDNSSECParamsQueryType = "URI"` - `const AS112SummaryDNSSECParamsQueryTypeWks AS112SummaryDNSSECParamsQueryType = "WKS"` - `const AS112SummaryDNSSECParamsQueryTypeX25 AS112SummaryDNSSECParamsQueryType = "X25"` - `const AS112SummaryDNSSECParamsQueryTypeZonemd AS112SummaryDNSSECParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112SummaryDNSSECParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryDNSSECParamsResponseCodeNoerror AS112SummaryDNSSECParamsResponseCode = "NOERROR"` - `const AS112SummaryDNSSECParamsResponseCodeFormerr AS112SummaryDNSSECParamsResponseCode = "FORMERR"` - `const AS112SummaryDNSSECParamsResponseCodeServfail AS112SummaryDNSSECParamsResponseCode = "SERVFAIL"` - `const AS112SummaryDNSSECParamsResponseCodeNxdomain AS112SummaryDNSSECParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryDNSSECParamsResponseCodeNotimp AS112SummaryDNSSECParamsResponseCode = "NOTIMP"` - `const AS112SummaryDNSSECParamsResponseCodeRefused AS112SummaryDNSSECParamsResponseCode = "REFUSED"` - `const AS112SummaryDNSSECParamsResponseCodeYxdomain AS112SummaryDNSSECParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryDNSSECParamsResponseCodeYxrrset AS112SummaryDNSSECParamsResponseCode = "YXRRSET"` - `const AS112SummaryDNSSECParamsResponseCodeNxrrset AS112SummaryDNSSECParamsResponseCode = "NXRRSET"` - `const AS112SummaryDNSSECParamsResponseCodeNotauth AS112SummaryDNSSECParamsResponseCode = "NOTAUTH"` - `const AS112SummaryDNSSECParamsResponseCodeNotzone AS112SummaryDNSSECParamsResponseCode = "NOTZONE"` - `const AS112SummaryDNSSECParamsResponseCodeBadsig AS112SummaryDNSSECParamsResponseCode = "BADSIG"` - `const AS112SummaryDNSSECParamsResponseCodeBadkey AS112SummaryDNSSECParamsResponseCode = "BADKEY"` - `const AS112SummaryDNSSECParamsResponseCodeBadtime AS112SummaryDNSSECParamsResponseCode = "BADTIME"` - `const AS112SummaryDNSSECParamsResponseCodeBadmode AS112SummaryDNSSECParamsResponseCode = "BADMODE"` - `const AS112SummaryDNSSECParamsResponseCodeBadname AS112SummaryDNSSECParamsResponseCode = "BADNAME"` - `const AS112SummaryDNSSECParamsResponseCodeBadalg AS112SummaryDNSSECParamsResponseCode = "BADALG"` - `const AS112SummaryDNSSECParamsResponseCodeBadtrunc AS112SummaryDNSSECParamsResponseCode = "BADTRUNC"` - `const AS112SummaryDNSSECParamsResponseCodeBadcookie AS112SummaryDNSSECParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryDNSSECResponse struct{…}` - `Meta AS112SummaryDNSSECResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryDNSSECResponseMetaConfidenceInfo` - `Annotations []AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryDNSSECResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryDNSSECResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryDNSSECResponseMetaNormalizationPercentage AS112SummaryDNSSECResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryDNSSECResponseMetaNormalizationMin0Max AS112SummaryDNSSECResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryDNSSECResponseMetaNormalizationMinMax AS112SummaryDNSSECResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryDNSSECResponseMetaNormalizationRawValues AS112SummaryDNSSECResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryDNSSECResponseMetaNormalizationPercentageChange AS112SummaryDNSSECResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryDNSSECResponseMetaNormalizationRollingAverage AS112SummaryDNSSECResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryDNSSECResponseMetaNormalizationOverlappedPercentage AS112SummaryDNSSECResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryDNSSECResponseMetaNormalizationRatio AS112SummaryDNSSECResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryDNSSECResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AS112SummaryDNSSECResponseSummary0` - `NotSupported string` A numeric string. - `Supported string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.DNSSEC(context.TODO(), radar.AS112SummaryDNSSECParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by EDNS summary `client.Radar.AS112.Summary.Edns(ctx, query) (*AS112SummaryEdnsResponse, error)` **get** `/radar/as112/summary/edns` Retrieves the distribution of DNS queries to AS112 by EDNS (Extension Mechanisms for DNS) support. ### Parameters - `query AS112SummaryEdnsParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryEdnsParamsFormat]` Format in which results will be returned. - `const AS112SummaryEdnsParamsFormatJson AS112SummaryEdnsParamsFormat = "JSON"` - `const AS112SummaryEdnsParamsFormatCsv AS112SummaryEdnsParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryEdnsParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryEdnsParamsProtocolUdp AS112SummaryEdnsParamsProtocol = "UDP"` - `const AS112SummaryEdnsParamsProtocolTCP AS112SummaryEdnsParamsProtocol = "TCP"` - `const AS112SummaryEdnsParamsProtocolHTTPS AS112SummaryEdnsParamsProtocol = "HTTPS"` - `const AS112SummaryEdnsParamsProtocolTLS AS112SummaryEdnsParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112SummaryEdnsParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryEdnsParamsQueryTypeA AS112SummaryEdnsParamsQueryType = "A"` - `const AS112SummaryEdnsParamsQueryTypeAAAA AS112SummaryEdnsParamsQueryType = "AAAA"` - `const AS112SummaryEdnsParamsQueryTypeA6 AS112SummaryEdnsParamsQueryType = "A6"` - `const AS112SummaryEdnsParamsQueryTypeAfsdb AS112SummaryEdnsParamsQueryType = "AFSDB"` - `const AS112SummaryEdnsParamsQueryTypeAny AS112SummaryEdnsParamsQueryType = "ANY"` - `const AS112SummaryEdnsParamsQueryTypeApl AS112SummaryEdnsParamsQueryType = "APL"` - `const AS112SummaryEdnsParamsQueryTypeAtma AS112SummaryEdnsParamsQueryType = "ATMA"` - `const AS112SummaryEdnsParamsQueryTypeAXFR AS112SummaryEdnsParamsQueryType = "AXFR"` - `const AS112SummaryEdnsParamsQueryTypeCAA AS112SummaryEdnsParamsQueryType = "CAA"` - `const AS112SummaryEdnsParamsQueryTypeCdnskey AS112SummaryEdnsParamsQueryType = "CDNSKEY"` - `const AS112SummaryEdnsParamsQueryTypeCds AS112SummaryEdnsParamsQueryType = "CDS"` - `const AS112SummaryEdnsParamsQueryTypeCERT AS112SummaryEdnsParamsQueryType = "CERT"` - `const AS112SummaryEdnsParamsQueryTypeCNAME AS112SummaryEdnsParamsQueryType = "CNAME"` - `const AS112SummaryEdnsParamsQueryTypeCsync AS112SummaryEdnsParamsQueryType = "CSYNC"` - `const AS112SummaryEdnsParamsQueryTypeDhcid AS112SummaryEdnsParamsQueryType = "DHCID"` - `const AS112SummaryEdnsParamsQueryTypeDlv AS112SummaryEdnsParamsQueryType = "DLV"` - `const AS112SummaryEdnsParamsQueryTypeDname AS112SummaryEdnsParamsQueryType = "DNAME"` - `const AS112SummaryEdnsParamsQueryTypeDNSKEY AS112SummaryEdnsParamsQueryType = "DNSKEY"` - `const AS112SummaryEdnsParamsQueryTypeDoa AS112SummaryEdnsParamsQueryType = "DOA"` - `const AS112SummaryEdnsParamsQueryTypeDS AS112SummaryEdnsParamsQueryType = "DS"` - `const AS112SummaryEdnsParamsQueryTypeEid AS112SummaryEdnsParamsQueryType = "EID"` - `const AS112SummaryEdnsParamsQueryTypeEui48 AS112SummaryEdnsParamsQueryType = "EUI48"` - `const AS112SummaryEdnsParamsQueryTypeEui64 AS112SummaryEdnsParamsQueryType = "EUI64"` - `const AS112SummaryEdnsParamsQueryTypeGpos AS112SummaryEdnsParamsQueryType = "GPOS"` - `const AS112SummaryEdnsParamsQueryTypeGid AS112SummaryEdnsParamsQueryType = "GID"` - `const AS112SummaryEdnsParamsQueryTypeHinfo AS112SummaryEdnsParamsQueryType = "HINFO"` - `const AS112SummaryEdnsParamsQueryTypeHip AS112SummaryEdnsParamsQueryType = "HIP"` - `const AS112SummaryEdnsParamsQueryTypeHTTPS AS112SummaryEdnsParamsQueryType = "HTTPS"` - `const AS112SummaryEdnsParamsQueryTypeIpseckey AS112SummaryEdnsParamsQueryType = "IPSECKEY"` - `const AS112SummaryEdnsParamsQueryTypeIsdn AS112SummaryEdnsParamsQueryType = "ISDN"` - `const AS112SummaryEdnsParamsQueryTypeIxfr AS112SummaryEdnsParamsQueryType = "IXFR"` - `const AS112SummaryEdnsParamsQueryTypeKey AS112SummaryEdnsParamsQueryType = "KEY"` - `const AS112SummaryEdnsParamsQueryTypeKx AS112SummaryEdnsParamsQueryType = "KX"` - `const AS112SummaryEdnsParamsQueryTypeL32 AS112SummaryEdnsParamsQueryType = "L32"` - `const AS112SummaryEdnsParamsQueryTypeL64 AS112SummaryEdnsParamsQueryType = "L64"` - `const AS112SummaryEdnsParamsQueryTypeLOC AS112SummaryEdnsParamsQueryType = "LOC"` - `const AS112SummaryEdnsParamsQueryTypeLp AS112SummaryEdnsParamsQueryType = "LP"` - `const AS112SummaryEdnsParamsQueryTypeMaila AS112SummaryEdnsParamsQueryType = "MAILA"` - `const AS112SummaryEdnsParamsQueryTypeMailb AS112SummaryEdnsParamsQueryType = "MAILB"` - `const AS112SummaryEdnsParamsQueryTypeMB AS112SummaryEdnsParamsQueryType = "MB"` - `const AS112SummaryEdnsParamsQueryTypeMd AS112SummaryEdnsParamsQueryType = "MD"` - `const AS112SummaryEdnsParamsQueryTypeMf AS112SummaryEdnsParamsQueryType = "MF"` - `const AS112SummaryEdnsParamsQueryTypeMg AS112SummaryEdnsParamsQueryType = "MG"` - `const AS112SummaryEdnsParamsQueryTypeMinfo AS112SummaryEdnsParamsQueryType = "MINFO"` - `const AS112SummaryEdnsParamsQueryTypeMr AS112SummaryEdnsParamsQueryType = "MR"` - `const AS112SummaryEdnsParamsQueryTypeMX AS112SummaryEdnsParamsQueryType = "MX"` - `const AS112SummaryEdnsParamsQueryTypeNAPTR AS112SummaryEdnsParamsQueryType = "NAPTR"` - `const AS112SummaryEdnsParamsQueryTypeNb AS112SummaryEdnsParamsQueryType = "NB"` - `const AS112SummaryEdnsParamsQueryTypeNbstat AS112SummaryEdnsParamsQueryType = "NBSTAT"` - `const AS112SummaryEdnsParamsQueryTypeNid AS112SummaryEdnsParamsQueryType = "NID"` - `const AS112SummaryEdnsParamsQueryTypeNimloc AS112SummaryEdnsParamsQueryType = "NIMLOC"` - `const AS112SummaryEdnsParamsQueryTypeNinfo AS112SummaryEdnsParamsQueryType = "NINFO"` - `const AS112SummaryEdnsParamsQueryTypeNS AS112SummaryEdnsParamsQueryType = "NS"` - `const AS112SummaryEdnsParamsQueryTypeNsap AS112SummaryEdnsParamsQueryType = "NSAP"` - `const AS112SummaryEdnsParamsQueryTypeNsec AS112SummaryEdnsParamsQueryType = "NSEC"` - `const AS112SummaryEdnsParamsQueryTypeNsec3 AS112SummaryEdnsParamsQueryType = "NSEC3"` - `const AS112SummaryEdnsParamsQueryTypeNsec3Param AS112SummaryEdnsParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryEdnsParamsQueryTypeNull AS112SummaryEdnsParamsQueryType = "NULL"` - `const AS112SummaryEdnsParamsQueryTypeNxt AS112SummaryEdnsParamsQueryType = "NXT"` - `const AS112SummaryEdnsParamsQueryTypeOpenpgpkey AS112SummaryEdnsParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryEdnsParamsQueryTypeOpt AS112SummaryEdnsParamsQueryType = "OPT"` - `const AS112SummaryEdnsParamsQueryTypePTR AS112SummaryEdnsParamsQueryType = "PTR"` - `const AS112SummaryEdnsParamsQueryTypePx AS112SummaryEdnsParamsQueryType = "PX"` - `const AS112SummaryEdnsParamsQueryTypeRkey AS112SummaryEdnsParamsQueryType = "RKEY"` - `const AS112SummaryEdnsParamsQueryTypeRp AS112SummaryEdnsParamsQueryType = "RP"` - `const AS112SummaryEdnsParamsQueryTypeRrsig AS112SummaryEdnsParamsQueryType = "RRSIG"` - `const AS112SummaryEdnsParamsQueryTypeRt AS112SummaryEdnsParamsQueryType = "RT"` - `const AS112SummaryEdnsParamsQueryTypeSig AS112SummaryEdnsParamsQueryType = "SIG"` - `const AS112SummaryEdnsParamsQueryTypeSink AS112SummaryEdnsParamsQueryType = "SINK"` - `const AS112SummaryEdnsParamsQueryTypeSMIMEA AS112SummaryEdnsParamsQueryType = "SMIMEA"` - `const AS112SummaryEdnsParamsQueryTypeSOA AS112SummaryEdnsParamsQueryType = "SOA"` - `const AS112SummaryEdnsParamsQueryTypeSPF AS112SummaryEdnsParamsQueryType = "SPF"` - `const AS112SummaryEdnsParamsQueryTypeSRV AS112SummaryEdnsParamsQueryType = "SRV"` - `const AS112SummaryEdnsParamsQueryTypeSSHFP AS112SummaryEdnsParamsQueryType = "SSHFP"` - `const AS112SummaryEdnsParamsQueryTypeSVCB AS112SummaryEdnsParamsQueryType = "SVCB"` - `const AS112SummaryEdnsParamsQueryTypeTa AS112SummaryEdnsParamsQueryType = "TA"` - `const AS112SummaryEdnsParamsQueryTypeTalink AS112SummaryEdnsParamsQueryType = "TALINK"` - `const AS112SummaryEdnsParamsQueryTypeTkey AS112SummaryEdnsParamsQueryType = "TKEY"` - `const AS112SummaryEdnsParamsQueryTypeTLSA AS112SummaryEdnsParamsQueryType = "TLSA"` - `const AS112SummaryEdnsParamsQueryTypeTSIG AS112SummaryEdnsParamsQueryType = "TSIG"` - `const AS112SummaryEdnsParamsQueryTypeTXT AS112SummaryEdnsParamsQueryType = "TXT"` - `const AS112SummaryEdnsParamsQueryTypeUinfo AS112SummaryEdnsParamsQueryType = "UINFO"` - `const AS112SummaryEdnsParamsQueryTypeUID AS112SummaryEdnsParamsQueryType = "UID"` - `const AS112SummaryEdnsParamsQueryTypeUnspec AS112SummaryEdnsParamsQueryType = "UNSPEC"` - `const AS112SummaryEdnsParamsQueryTypeURI AS112SummaryEdnsParamsQueryType = "URI"` - `const AS112SummaryEdnsParamsQueryTypeWks AS112SummaryEdnsParamsQueryType = "WKS"` - `const AS112SummaryEdnsParamsQueryTypeX25 AS112SummaryEdnsParamsQueryType = "X25"` - `const AS112SummaryEdnsParamsQueryTypeZonemd AS112SummaryEdnsParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112SummaryEdnsParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryEdnsParamsResponseCodeNoerror AS112SummaryEdnsParamsResponseCode = "NOERROR"` - `const AS112SummaryEdnsParamsResponseCodeFormerr AS112SummaryEdnsParamsResponseCode = "FORMERR"` - `const AS112SummaryEdnsParamsResponseCodeServfail AS112SummaryEdnsParamsResponseCode = "SERVFAIL"` - `const AS112SummaryEdnsParamsResponseCodeNxdomain AS112SummaryEdnsParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryEdnsParamsResponseCodeNotimp AS112SummaryEdnsParamsResponseCode = "NOTIMP"` - `const AS112SummaryEdnsParamsResponseCodeRefused AS112SummaryEdnsParamsResponseCode = "REFUSED"` - `const AS112SummaryEdnsParamsResponseCodeYxdomain AS112SummaryEdnsParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryEdnsParamsResponseCodeYxrrset AS112SummaryEdnsParamsResponseCode = "YXRRSET"` - `const AS112SummaryEdnsParamsResponseCodeNxrrset AS112SummaryEdnsParamsResponseCode = "NXRRSET"` - `const AS112SummaryEdnsParamsResponseCodeNotauth AS112SummaryEdnsParamsResponseCode = "NOTAUTH"` - `const AS112SummaryEdnsParamsResponseCodeNotzone AS112SummaryEdnsParamsResponseCode = "NOTZONE"` - `const AS112SummaryEdnsParamsResponseCodeBadsig AS112SummaryEdnsParamsResponseCode = "BADSIG"` - `const AS112SummaryEdnsParamsResponseCodeBadkey AS112SummaryEdnsParamsResponseCode = "BADKEY"` - `const AS112SummaryEdnsParamsResponseCodeBadtime AS112SummaryEdnsParamsResponseCode = "BADTIME"` - `const AS112SummaryEdnsParamsResponseCodeBadmode AS112SummaryEdnsParamsResponseCode = "BADMODE"` - `const AS112SummaryEdnsParamsResponseCodeBadname AS112SummaryEdnsParamsResponseCode = "BADNAME"` - `const AS112SummaryEdnsParamsResponseCodeBadalg AS112SummaryEdnsParamsResponseCode = "BADALG"` - `const AS112SummaryEdnsParamsResponseCodeBadtrunc AS112SummaryEdnsParamsResponseCode = "BADTRUNC"` - `const AS112SummaryEdnsParamsResponseCodeBadcookie AS112SummaryEdnsParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryEdnsResponse struct{…}` - `Meta AS112SummaryEdnsResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryEdnsResponseMetaConfidenceInfo` - `Annotations []AS112SummaryEdnsResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryEdnsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryEdnsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryEdnsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryEdnsResponseMetaNormalizationPercentage AS112SummaryEdnsResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryEdnsResponseMetaNormalizationMin0Max AS112SummaryEdnsResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryEdnsResponseMetaNormalizationMinMax AS112SummaryEdnsResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryEdnsResponseMetaNormalizationRawValues AS112SummaryEdnsResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryEdnsResponseMetaNormalizationPercentageChange AS112SummaryEdnsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryEdnsResponseMetaNormalizationRollingAverage AS112SummaryEdnsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryEdnsResponseMetaNormalizationOverlappedPercentage AS112SummaryEdnsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryEdnsResponseMetaNormalizationRatio AS112SummaryEdnsResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryEdnsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AS112SummaryEdnsResponseSummary0` - `NotSupported string` A numeric string. - `Supported string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.Edns(context.TODO(), radar.AS112SummaryEdnsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by IP version summary `client.Radar.AS112.Summary.IPVersion(ctx, query) (*AS112SummaryIPVersionResponse, error)` **get** `/radar/as112/summary/ip_version` Retrieves the distribution of DNS queries to AS112 by IP version. ### Parameters - `query AS112SummaryIPVersionParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryIPVersionParamsFormat]` Format in which results will be returned. - `const AS112SummaryIPVersionParamsFormatJson AS112SummaryIPVersionParamsFormat = "JSON"` - `const AS112SummaryIPVersionParamsFormatCsv AS112SummaryIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryIPVersionParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryIPVersionParamsProtocolUdp AS112SummaryIPVersionParamsProtocol = "UDP"` - `const AS112SummaryIPVersionParamsProtocolTCP AS112SummaryIPVersionParamsProtocol = "TCP"` - `const AS112SummaryIPVersionParamsProtocolHTTPS AS112SummaryIPVersionParamsProtocol = "HTTPS"` - `const AS112SummaryIPVersionParamsProtocolTLS AS112SummaryIPVersionParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112SummaryIPVersionParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryIPVersionParamsQueryTypeA AS112SummaryIPVersionParamsQueryType = "A"` - `const AS112SummaryIPVersionParamsQueryTypeAAAA AS112SummaryIPVersionParamsQueryType = "AAAA"` - `const AS112SummaryIPVersionParamsQueryTypeA6 AS112SummaryIPVersionParamsQueryType = "A6"` - `const AS112SummaryIPVersionParamsQueryTypeAfsdb AS112SummaryIPVersionParamsQueryType = "AFSDB"` - `const AS112SummaryIPVersionParamsQueryTypeAny AS112SummaryIPVersionParamsQueryType = "ANY"` - `const AS112SummaryIPVersionParamsQueryTypeApl AS112SummaryIPVersionParamsQueryType = "APL"` - `const AS112SummaryIPVersionParamsQueryTypeAtma AS112SummaryIPVersionParamsQueryType = "ATMA"` - `const AS112SummaryIPVersionParamsQueryTypeAXFR AS112SummaryIPVersionParamsQueryType = "AXFR"` - `const AS112SummaryIPVersionParamsQueryTypeCAA AS112SummaryIPVersionParamsQueryType = "CAA"` - `const AS112SummaryIPVersionParamsQueryTypeCdnskey AS112SummaryIPVersionParamsQueryType = "CDNSKEY"` - `const AS112SummaryIPVersionParamsQueryTypeCds AS112SummaryIPVersionParamsQueryType = "CDS"` - `const AS112SummaryIPVersionParamsQueryTypeCERT AS112SummaryIPVersionParamsQueryType = "CERT"` - `const AS112SummaryIPVersionParamsQueryTypeCNAME AS112SummaryIPVersionParamsQueryType = "CNAME"` - `const AS112SummaryIPVersionParamsQueryTypeCsync AS112SummaryIPVersionParamsQueryType = "CSYNC"` - `const AS112SummaryIPVersionParamsQueryTypeDhcid AS112SummaryIPVersionParamsQueryType = "DHCID"` - `const AS112SummaryIPVersionParamsQueryTypeDlv AS112SummaryIPVersionParamsQueryType = "DLV"` - `const AS112SummaryIPVersionParamsQueryTypeDname AS112SummaryIPVersionParamsQueryType = "DNAME"` - `const AS112SummaryIPVersionParamsQueryTypeDNSKEY AS112SummaryIPVersionParamsQueryType = "DNSKEY"` - `const AS112SummaryIPVersionParamsQueryTypeDoa AS112SummaryIPVersionParamsQueryType = "DOA"` - `const AS112SummaryIPVersionParamsQueryTypeDS AS112SummaryIPVersionParamsQueryType = "DS"` - `const AS112SummaryIPVersionParamsQueryTypeEid AS112SummaryIPVersionParamsQueryType = "EID"` - `const AS112SummaryIPVersionParamsQueryTypeEui48 AS112SummaryIPVersionParamsQueryType = "EUI48"` - `const AS112SummaryIPVersionParamsQueryTypeEui64 AS112SummaryIPVersionParamsQueryType = "EUI64"` - `const AS112SummaryIPVersionParamsQueryTypeGpos AS112SummaryIPVersionParamsQueryType = "GPOS"` - `const AS112SummaryIPVersionParamsQueryTypeGid AS112SummaryIPVersionParamsQueryType = "GID"` - `const AS112SummaryIPVersionParamsQueryTypeHinfo AS112SummaryIPVersionParamsQueryType = "HINFO"` - `const AS112SummaryIPVersionParamsQueryTypeHip AS112SummaryIPVersionParamsQueryType = "HIP"` - `const AS112SummaryIPVersionParamsQueryTypeHTTPS AS112SummaryIPVersionParamsQueryType = "HTTPS"` - `const AS112SummaryIPVersionParamsQueryTypeIpseckey AS112SummaryIPVersionParamsQueryType = "IPSECKEY"` - `const AS112SummaryIPVersionParamsQueryTypeIsdn AS112SummaryIPVersionParamsQueryType = "ISDN"` - `const AS112SummaryIPVersionParamsQueryTypeIxfr AS112SummaryIPVersionParamsQueryType = "IXFR"` - `const AS112SummaryIPVersionParamsQueryTypeKey AS112SummaryIPVersionParamsQueryType = "KEY"` - `const AS112SummaryIPVersionParamsQueryTypeKx AS112SummaryIPVersionParamsQueryType = "KX"` - `const AS112SummaryIPVersionParamsQueryTypeL32 AS112SummaryIPVersionParamsQueryType = "L32"` - `const AS112SummaryIPVersionParamsQueryTypeL64 AS112SummaryIPVersionParamsQueryType = "L64"` - `const AS112SummaryIPVersionParamsQueryTypeLOC AS112SummaryIPVersionParamsQueryType = "LOC"` - `const AS112SummaryIPVersionParamsQueryTypeLp AS112SummaryIPVersionParamsQueryType = "LP"` - `const AS112SummaryIPVersionParamsQueryTypeMaila AS112SummaryIPVersionParamsQueryType = "MAILA"` - `const AS112SummaryIPVersionParamsQueryTypeMailb AS112SummaryIPVersionParamsQueryType = "MAILB"` - `const AS112SummaryIPVersionParamsQueryTypeMB AS112SummaryIPVersionParamsQueryType = "MB"` - `const AS112SummaryIPVersionParamsQueryTypeMd AS112SummaryIPVersionParamsQueryType = "MD"` - `const AS112SummaryIPVersionParamsQueryTypeMf AS112SummaryIPVersionParamsQueryType = "MF"` - `const AS112SummaryIPVersionParamsQueryTypeMg AS112SummaryIPVersionParamsQueryType = "MG"` - `const AS112SummaryIPVersionParamsQueryTypeMinfo AS112SummaryIPVersionParamsQueryType = "MINFO"` - `const AS112SummaryIPVersionParamsQueryTypeMr AS112SummaryIPVersionParamsQueryType = "MR"` - `const AS112SummaryIPVersionParamsQueryTypeMX AS112SummaryIPVersionParamsQueryType = "MX"` - `const AS112SummaryIPVersionParamsQueryTypeNAPTR AS112SummaryIPVersionParamsQueryType = "NAPTR"` - `const AS112SummaryIPVersionParamsQueryTypeNb AS112SummaryIPVersionParamsQueryType = "NB"` - `const AS112SummaryIPVersionParamsQueryTypeNbstat AS112SummaryIPVersionParamsQueryType = "NBSTAT"` - `const AS112SummaryIPVersionParamsQueryTypeNid AS112SummaryIPVersionParamsQueryType = "NID"` - `const AS112SummaryIPVersionParamsQueryTypeNimloc AS112SummaryIPVersionParamsQueryType = "NIMLOC"` - `const AS112SummaryIPVersionParamsQueryTypeNinfo AS112SummaryIPVersionParamsQueryType = "NINFO"` - `const AS112SummaryIPVersionParamsQueryTypeNS AS112SummaryIPVersionParamsQueryType = "NS"` - `const AS112SummaryIPVersionParamsQueryTypeNsap AS112SummaryIPVersionParamsQueryType = "NSAP"` - `const AS112SummaryIPVersionParamsQueryTypeNsec AS112SummaryIPVersionParamsQueryType = "NSEC"` - `const AS112SummaryIPVersionParamsQueryTypeNsec3 AS112SummaryIPVersionParamsQueryType = "NSEC3"` - `const AS112SummaryIPVersionParamsQueryTypeNsec3Param AS112SummaryIPVersionParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryIPVersionParamsQueryTypeNull AS112SummaryIPVersionParamsQueryType = "NULL"` - `const AS112SummaryIPVersionParamsQueryTypeNxt AS112SummaryIPVersionParamsQueryType = "NXT"` - `const AS112SummaryIPVersionParamsQueryTypeOpenpgpkey AS112SummaryIPVersionParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryIPVersionParamsQueryTypeOpt AS112SummaryIPVersionParamsQueryType = "OPT"` - `const AS112SummaryIPVersionParamsQueryTypePTR AS112SummaryIPVersionParamsQueryType = "PTR"` - `const AS112SummaryIPVersionParamsQueryTypePx AS112SummaryIPVersionParamsQueryType = "PX"` - `const AS112SummaryIPVersionParamsQueryTypeRkey AS112SummaryIPVersionParamsQueryType = "RKEY"` - `const AS112SummaryIPVersionParamsQueryTypeRp AS112SummaryIPVersionParamsQueryType = "RP"` - `const AS112SummaryIPVersionParamsQueryTypeRrsig AS112SummaryIPVersionParamsQueryType = "RRSIG"` - `const AS112SummaryIPVersionParamsQueryTypeRt AS112SummaryIPVersionParamsQueryType = "RT"` - `const AS112SummaryIPVersionParamsQueryTypeSig AS112SummaryIPVersionParamsQueryType = "SIG"` - `const AS112SummaryIPVersionParamsQueryTypeSink AS112SummaryIPVersionParamsQueryType = "SINK"` - `const AS112SummaryIPVersionParamsQueryTypeSMIMEA AS112SummaryIPVersionParamsQueryType = "SMIMEA"` - `const AS112SummaryIPVersionParamsQueryTypeSOA AS112SummaryIPVersionParamsQueryType = "SOA"` - `const AS112SummaryIPVersionParamsQueryTypeSPF AS112SummaryIPVersionParamsQueryType = "SPF"` - `const AS112SummaryIPVersionParamsQueryTypeSRV AS112SummaryIPVersionParamsQueryType = "SRV"` - `const AS112SummaryIPVersionParamsQueryTypeSSHFP AS112SummaryIPVersionParamsQueryType = "SSHFP"` - `const AS112SummaryIPVersionParamsQueryTypeSVCB AS112SummaryIPVersionParamsQueryType = "SVCB"` - `const AS112SummaryIPVersionParamsQueryTypeTa AS112SummaryIPVersionParamsQueryType = "TA"` - `const AS112SummaryIPVersionParamsQueryTypeTalink AS112SummaryIPVersionParamsQueryType = "TALINK"` - `const AS112SummaryIPVersionParamsQueryTypeTkey AS112SummaryIPVersionParamsQueryType = "TKEY"` - `const AS112SummaryIPVersionParamsQueryTypeTLSA AS112SummaryIPVersionParamsQueryType = "TLSA"` - `const AS112SummaryIPVersionParamsQueryTypeTSIG AS112SummaryIPVersionParamsQueryType = "TSIG"` - `const AS112SummaryIPVersionParamsQueryTypeTXT AS112SummaryIPVersionParamsQueryType = "TXT"` - `const AS112SummaryIPVersionParamsQueryTypeUinfo AS112SummaryIPVersionParamsQueryType = "UINFO"` - `const AS112SummaryIPVersionParamsQueryTypeUID AS112SummaryIPVersionParamsQueryType = "UID"` - `const AS112SummaryIPVersionParamsQueryTypeUnspec AS112SummaryIPVersionParamsQueryType = "UNSPEC"` - `const AS112SummaryIPVersionParamsQueryTypeURI AS112SummaryIPVersionParamsQueryType = "URI"` - `const AS112SummaryIPVersionParamsQueryTypeWks AS112SummaryIPVersionParamsQueryType = "WKS"` - `const AS112SummaryIPVersionParamsQueryTypeX25 AS112SummaryIPVersionParamsQueryType = "X25"` - `const AS112SummaryIPVersionParamsQueryTypeZonemd AS112SummaryIPVersionParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112SummaryIPVersionParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryIPVersionParamsResponseCodeNoerror AS112SummaryIPVersionParamsResponseCode = "NOERROR"` - `const AS112SummaryIPVersionParamsResponseCodeFormerr AS112SummaryIPVersionParamsResponseCode = "FORMERR"` - `const AS112SummaryIPVersionParamsResponseCodeServfail AS112SummaryIPVersionParamsResponseCode = "SERVFAIL"` - `const AS112SummaryIPVersionParamsResponseCodeNxdomain AS112SummaryIPVersionParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryIPVersionParamsResponseCodeNotimp AS112SummaryIPVersionParamsResponseCode = "NOTIMP"` - `const AS112SummaryIPVersionParamsResponseCodeRefused AS112SummaryIPVersionParamsResponseCode = "REFUSED"` - `const AS112SummaryIPVersionParamsResponseCodeYxdomain AS112SummaryIPVersionParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryIPVersionParamsResponseCodeYxrrset AS112SummaryIPVersionParamsResponseCode = "YXRRSET"` - `const AS112SummaryIPVersionParamsResponseCodeNxrrset AS112SummaryIPVersionParamsResponseCode = "NXRRSET"` - `const AS112SummaryIPVersionParamsResponseCodeNotauth AS112SummaryIPVersionParamsResponseCode = "NOTAUTH"` - `const AS112SummaryIPVersionParamsResponseCodeNotzone AS112SummaryIPVersionParamsResponseCode = "NOTZONE"` - `const AS112SummaryIPVersionParamsResponseCodeBadsig AS112SummaryIPVersionParamsResponseCode = "BADSIG"` - `const AS112SummaryIPVersionParamsResponseCodeBadkey AS112SummaryIPVersionParamsResponseCode = "BADKEY"` - `const AS112SummaryIPVersionParamsResponseCodeBadtime AS112SummaryIPVersionParamsResponseCode = "BADTIME"` - `const AS112SummaryIPVersionParamsResponseCodeBadmode AS112SummaryIPVersionParamsResponseCode = "BADMODE"` - `const AS112SummaryIPVersionParamsResponseCodeBadname AS112SummaryIPVersionParamsResponseCode = "BADNAME"` - `const AS112SummaryIPVersionParamsResponseCodeBadalg AS112SummaryIPVersionParamsResponseCode = "BADALG"` - `const AS112SummaryIPVersionParamsResponseCodeBadtrunc AS112SummaryIPVersionParamsResponseCode = "BADTRUNC"` - `const AS112SummaryIPVersionParamsResponseCodeBadcookie AS112SummaryIPVersionParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryIPVersionResponse struct{…}` - `Meta AS112SummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryIPVersionResponseMetaNormalizationPercentage AS112SummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryIPVersionResponseMetaNormalizationMin0Max AS112SummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryIPVersionResponseMetaNormalizationMinMax AS112SummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryIPVersionResponseMetaNormalizationRawValues AS112SummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryIPVersionResponseMetaNormalizationPercentageChange AS112SummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryIPVersionResponseMetaNormalizationRollingAverage AS112SummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryIPVersionResponseMetaNormalizationOverlappedPercentage AS112SummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryIPVersionResponseMetaNormalizationRatio AS112SummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AS112SummaryIPVersionResponseSummary0` - `IPv4 string` A numeric string. - `IPv6 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.IPVersion(context.TODO(), radar.AS112SummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by DNS protocol summary `client.Radar.AS112.Summary.Protocol(ctx, query) (*AS112SummaryProtocolResponse, error)` **get** `/radar/as112/summary/protocol` Retrieves the distribution of DNS queries to AS112 by protocol. ### Parameters - `query AS112SummaryProtocolParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryProtocolParamsFormat]` Format in which results will be returned. - `const AS112SummaryProtocolParamsFormatJson AS112SummaryProtocolParamsFormat = "JSON"` - `const AS112SummaryProtocolParamsFormatCsv AS112SummaryProtocolParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `QueryType param.Field[[]AS112SummaryProtocolParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryProtocolParamsQueryTypeA AS112SummaryProtocolParamsQueryType = "A"` - `const AS112SummaryProtocolParamsQueryTypeAAAA AS112SummaryProtocolParamsQueryType = "AAAA"` - `const AS112SummaryProtocolParamsQueryTypeA6 AS112SummaryProtocolParamsQueryType = "A6"` - `const AS112SummaryProtocolParamsQueryTypeAfsdb AS112SummaryProtocolParamsQueryType = "AFSDB"` - `const AS112SummaryProtocolParamsQueryTypeAny AS112SummaryProtocolParamsQueryType = "ANY"` - `const AS112SummaryProtocolParamsQueryTypeApl AS112SummaryProtocolParamsQueryType = "APL"` - `const AS112SummaryProtocolParamsQueryTypeAtma AS112SummaryProtocolParamsQueryType = "ATMA"` - `const AS112SummaryProtocolParamsQueryTypeAXFR AS112SummaryProtocolParamsQueryType = "AXFR"` - `const AS112SummaryProtocolParamsQueryTypeCAA AS112SummaryProtocolParamsQueryType = "CAA"` - `const AS112SummaryProtocolParamsQueryTypeCdnskey AS112SummaryProtocolParamsQueryType = "CDNSKEY"` - `const AS112SummaryProtocolParamsQueryTypeCds AS112SummaryProtocolParamsQueryType = "CDS"` - `const AS112SummaryProtocolParamsQueryTypeCERT AS112SummaryProtocolParamsQueryType = "CERT"` - `const AS112SummaryProtocolParamsQueryTypeCNAME AS112SummaryProtocolParamsQueryType = "CNAME"` - `const AS112SummaryProtocolParamsQueryTypeCsync AS112SummaryProtocolParamsQueryType = "CSYNC"` - `const AS112SummaryProtocolParamsQueryTypeDhcid AS112SummaryProtocolParamsQueryType = "DHCID"` - `const AS112SummaryProtocolParamsQueryTypeDlv AS112SummaryProtocolParamsQueryType = "DLV"` - `const AS112SummaryProtocolParamsQueryTypeDname AS112SummaryProtocolParamsQueryType = "DNAME"` - `const AS112SummaryProtocolParamsQueryTypeDNSKEY AS112SummaryProtocolParamsQueryType = "DNSKEY"` - `const AS112SummaryProtocolParamsQueryTypeDoa AS112SummaryProtocolParamsQueryType = "DOA"` - `const AS112SummaryProtocolParamsQueryTypeDS AS112SummaryProtocolParamsQueryType = "DS"` - `const AS112SummaryProtocolParamsQueryTypeEid AS112SummaryProtocolParamsQueryType = "EID"` - `const AS112SummaryProtocolParamsQueryTypeEui48 AS112SummaryProtocolParamsQueryType = "EUI48"` - `const AS112SummaryProtocolParamsQueryTypeEui64 AS112SummaryProtocolParamsQueryType = "EUI64"` - `const AS112SummaryProtocolParamsQueryTypeGpos AS112SummaryProtocolParamsQueryType = "GPOS"` - `const AS112SummaryProtocolParamsQueryTypeGid AS112SummaryProtocolParamsQueryType = "GID"` - `const AS112SummaryProtocolParamsQueryTypeHinfo AS112SummaryProtocolParamsQueryType = "HINFO"` - `const AS112SummaryProtocolParamsQueryTypeHip AS112SummaryProtocolParamsQueryType = "HIP"` - `const AS112SummaryProtocolParamsQueryTypeHTTPS AS112SummaryProtocolParamsQueryType = "HTTPS"` - `const AS112SummaryProtocolParamsQueryTypeIpseckey AS112SummaryProtocolParamsQueryType = "IPSECKEY"` - `const AS112SummaryProtocolParamsQueryTypeIsdn AS112SummaryProtocolParamsQueryType = "ISDN"` - `const AS112SummaryProtocolParamsQueryTypeIxfr AS112SummaryProtocolParamsQueryType = "IXFR"` - `const AS112SummaryProtocolParamsQueryTypeKey AS112SummaryProtocolParamsQueryType = "KEY"` - `const AS112SummaryProtocolParamsQueryTypeKx AS112SummaryProtocolParamsQueryType = "KX"` - `const AS112SummaryProtocolParamsQueryTypeL32 AS112SummaryProtocolParamsQueryType = "L32"` - `const AS112SummaryProtocolParamsQueryTypeL64 AS112SummaryProtocolParamsQueryType = "L64"` - `const AS112SummaryProtocolParamsQueryTypeLOC AS112SummaryProtocolParamsQueryType = "LOC"` - `const AS112SummaryProtocolParamsQueryTypeLp AS112SummaryProtocolParamsQueryType = "LP"` - `const AS112SummaryProtocolParamsQueryTypeMaila AS112SummaryProtocolParamsQueryType = "MAILA"` - `const AS112SummaryProtocolParamsQueryTypeMailb AS112SummaryProtocolParamsQueryType = "MAILB"` - `const AS112SummaryProtocolParamsQueryTypeMB AS112SummaryProtocolParamsQueryType = "MB"` - `const AS112SummaryProtocolParamsQueryTypeMd AS112SummaryProtocolParamsQueryType = "MD"` - `const AS112SummaryProtocolParamsQueryTypeMf AS112SummaryProtocolParamsQueryType = "MF"` - `const AS112SummaryProtocolParamsQueryTypeMg AS112SummaryProtocolParamsQueryType = "MG"` - `const AS112SummaryProtocolParamsQueryTypeMinfo AS112SummaryProtocolParamsQueryType = "MINFO"` - `const AS112SummaryProtocolParamsQueryTypeMr AS112SummaryProtocolParamsQueryType = "MR"` - `const AS112SummaryProtocolParamsQueryTypeMX AS112SummaryProtocolParamsQueryType = "MX"` - `const AS112SummaryProtocolParamsQueryTypeNAPTR AS112SummaryProtocolParamsQueryType = "NAPTR"` - `const AS112SummaryProtocolParamsQueryTypeNb AS112SummaryProtocolParamsQueryType = "NB"` - `const AS112SummaryProtocolParamsQueryTypeNbstat AS112SummaryProtocolParamsQueryType = "NBSTAT"` - `const AS112SummaryProtocolParamsQueryTypeNid AS112SummaryProtocolParamsQueryType = "NID"` - `const AS112SummaryProtocolParamsQueryTypeNimloc AS112SummaryProtocolParamsQueryType = "NIMLOC"` - `const AS112SummaryProtocolParamsQueryTypeNinfo AS112SummaryProtocolParamsQueryType = "NINFO"` - `const AS112SummaryProtocolParamsQueryTypeNS AS112SummaryProtocolParamsQueryType = "NS"` - `const AS112SummaryProtocolParamsQueryTypeNsap AS112SummaryProtocolParamsQueryType = "NSAP"` - `const AS112SummaryProtocolParamsQueryTypeNsec AS112SummaryProtocolParamsQueryType = "NSEC"` - `const AS112SummaryProtocolParamsQueryTypeNsec3 AS112SummaryProtocolParamsQueryType = "NSEC3"` - `const AS112SummaryProtocolParamsQueryTypeNsec3Param AS112SummaryProtocolParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryProtocolParamsQueryTypeNull AS112SummaryProtocolParamsQueryType = "NULL"` - `const AS112SummaryProtocolParamsQueryTypeNxt AS112SummaryProtocolParamsQueryType = "NXT"` - `const AS112SummaryProtocolParamsQueryTypeOpenpgpkey AS112SummaryProtocolParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryProtocolParamsQueryTypeOpt AS112SummaryProtocolParamsQueryType = "OPT"` - `const AS112SummaryProtocolParamsQueryTypePTR AS112SummaryProtocolParamsQueryType = "PTR"` - `const AS112SummaryProtocolParamsQueryTypePx AS112SummaryProtocolParamsQueryType = "PX"` - `const AS112SummaryProtocolParamsQueryTypeRkey AS112SummaryProtocolParamsQueryType = "RKEY"` - `const AS112SummaryProtocolParamsQueryTypeRp AS112SummaryProtocolParamsQueryType = "RP"` - `const AS112SummaryProtocolParamsQueryTypeRrsig AS112SummaryProtocolParamsQueryType = "RRSIG"` - `const AS112SummaryProtocolParamsQueryTypeRt AS112SummaryProtocolParamsQueryType = "RT"` - `const AS112SummaryProtocolParamsQueryTypeSig AS112SummaryProtocolParamsQueryType = "SIG"` - `const AS112SummaryProtocolParamsQueryTypeSink AS112SummaryProtocolParamsQueryType = "SINK"` - `const AS112SummaryProtocolParamsQueryTypeSMIMEA AS112SummaryProtocolParamsQueryType = "SMIMEA"` - `const AS112SummaryProtocolParamsQueryTypeSOA AS112SummaryProtocolParamsQueryType = "SOA"` - `const AS112SummaryProtocolParamsQueryTypeSPF AS112SummaryProtocolParamsQueryType = "SPF"` - `const AS112SummaryProtocolParamsQueryTypeSRV AS112SummaryProtocolParamsQueryType = "SRV"` - `const AS112SummaryProtocolParamsQueryTypeSSHFP AS112SummaryProtocolParamsQueryType = "SSHFP"` - `const AS112SummaryProtocolParamsQueryTypeSVCB AS112SummaryProtocolParamsQueryType = "SVCB"` - `const AS112SummaryProtocolParamsQueryTypeTa AS112SummaryProtocolParamsQueryType = "TA"` - `const AS112SummaryProtocolParamsQueryTypeTalink AS112SummaryProtocolParamsQueryType = "TALINK"` - `const AS112SummaryProtocolParamsQueryTypeTkey AS112SummaryProtocolParamsQueryType = "TKEY"` - `const AS112SummaryProtocolParamsQueryTypeTLSA AS112SummaryProtocolParamsQueryType = "TLSA"` - `const AS112SummaryProtocolParamsQueryTypeTSIG AS112SummaryProtocolParamsQueryType = "TSIG"` - `const AS112SummaryProtocolParamsQueryTypeTXT AS112SummaryProtocolParamsQueryType = "TXT"` - `const AS112SummaryProtocolParamsQueryTypeUinfo AS112SummaryProtocolParamsQueryType = "UINFO"` - `const AS112SummaryProtocolParamsQueryTypeUID AS112SummaryProtocolParamsQueryType = "UID"` - `const AS112SummaryProtocolParamsQueryTypeUnspec AS112SummaryProtocolParamsQueryType = "UNSPEC"` - `const AS112SummaryProtocolParamsQueryTypeURI AS112SummaryProtocolParamsQueryType = "URI"` - `const AS112SummaryProtocolParamsQueryTypeWks AS112SummaryProtocolParamsQueryType = "WKS"` - `const AS112SummaryProtocolParamsQueryTypeX25 AS112SummaryProtocolParamsQueryType = "X25"` - `const AS112SummaryProtocolParamsQueryTypeZonemd AS112SummaryProtocolParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112SummaryProtocolParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryProtocolParamsResponseCodeNoerror AS112SummaryProtocolParamsResponseCode = "NOERROR"` - `const AS112SummaryProtocolParamsResponseCodeFormerr AS112SummaryProtocolParamsResponseCode = "FORMERR"` - `const AS112SummaryProtocolParamsResponseCodeServfail AS112SummaryProtocolParamsResponseCode = "SERVFAIL"` - `const AS112SummaryProtocolParamsResponseCodeNxdomain AS112SummaryProtocolParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryProtocolParamsResponseCodeNotimp AS112SummaryProtocolParamsResponseCode = "NOTIMP"` - `const AS112SummaryProtocolParamsResponseCodeRefused AS112SummaryProtocolParamsResponseCode = "REFUSED"` - `const AS112SummaryProtocolParamsResponseCodeYxdomain AS112SummaryProtocolParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryProtocolParamsResponseCodeYxrrset AS112SummaryProtocolParamsResponseCode = "YXRRSET"` - `const AS112SummaryProtocolParamsResponseCodeNxrrset AS112SummaryProtocolParamsResponseCode = "NXRRSET"` - `const AS112SummaryProtocolParamsResponseCodeNotauth AS112SummaryProtocolParamsResponseCode = "NOTAUTH"` - `const AS112SummaryProtocolParamsResponseCodeNotzone AS112SummaryProtocolParamsResponseCode = "NOTZONE"` - `const AS112SummaryProtocolParamsResponseCodeBadsig AS112SummaryProtocolParamsResponseCode = "BADSIG"` - `const AS112SummaryProtocolParamsResponseCodeBadkey AS112SummaryProtocolParamsResponseCode = "BADKEY"` - `const AS112SummaryProtocolParamsResponseCodeBadtime AS112SummaryProtocolParamsResponseCode = "BADTIME"` - `const AS112SummaryProtocolParamsResponseCodeBadmode AS112SummaryProtocolParamsResponseCode = "BADMODE"` - `const AS112SummaryProtocolParamsResponseCodeBadname AS112SummaryProtocolParamsResponseCode = "BADNAME"` - `const AS112SummaryProtocolParamsResponseCodeBadalg AS112SummaryProtocolParamsResponseCode = "BADALG"` - `const AS112SummaryProtocolParamsResponseCodeBadtrunc AS112SummaryProtocolParamsResponseCode = "BADTRUNC"` - `const AS112SummaryProtocolParamsResponseCodeBadcookie AS112SummaryProtocolParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryProtocolResponse struct{…}` - `Meta AS112SummaryProtocolResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryProtocolResponseMetaConfidenceInfo` - `Annotations []AS112SummaryProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryProtocolResponseMetaNormalizationPercentage AS112SummaryProtocolResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryProtocolResponseMetaNormalizationMin0Max AS112SummaryProtocolResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryProtocolResponseMetaNormalizationMinMax AS112SummaryProtocolResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryProtocolResponseMetaNormalizationRawValues AS112SummaryProtocolResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryProtocolResponseMetaNormalizationPercentageChange AS112SummaryProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryProtocolResponseMetaNormalizationRollingAverage AS112SummaryProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryProtocolResponseMetaNormalizationOverlappedPercentage AS112SummaryProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryProtocolResponseMetaNormalizationRatio AS112SummaryProtocolResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AS112SummaryProtocolResponseSummary0` - `HTTPS string` A numeric string. - `TCP string` A numeric string. - `TLS string` A numeric string. - `Udp string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.Protocol(context.TODO(), radar.AS112SummaryProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by type summary `client.Radar.AS112.Summary.QueryType(ctx, query) (*AS112SummaryQueryTypeResponse, error)` **get** `/radar/as112/summary/query_type` Retrieves the distribution of DNS queries to AS112 by type. ### Parameters - `query AS112SummaryQueryTypeParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryQueryTypeParamsFormat]` Format in which results will be returned. - `const AS112SummaryQueryTypeParamsFormatJson AS112SummaryQueryTypeParamsFormat = "JSON"` - `const AS112SummaryQueryTypeParamsFormatCsv AS112SummaryQueryTypeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryQueryTypeParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryQueryTypeParamsProtocolUdp AS112SummaryQueryTypeParamsProtocol = "UDP"` - `const AS112SummaryQueryTypeParamsProtocolTCP AS112SummaryQueryTypeParamsProtocol = "TCP"` - `const AS112SummaryQueryTypeParamsProtocolHTTPS AS112SummaryQueryTypeParamsProtocol = "HTTPS"` - `const AS112SummaryQueryTypeParamsProtocolTLS AS112SummaryQueryTypeParamsProtocol = "TLS"` - `ResponseCode param.Field[[]AS112SummaryQueryTypeParamsResponseCode]` Filters results by DNS response code. - `const AS112SummaryQueryTypeParamsResponseCodeNoerror AS112SummaryQueryTypeParamsResponseCode = "NOERROR"` - `const AS112SummaryQueryTypeParamsResponseCodeFormerr AS112SummaryQueryTypeParamsResponseCode = "FORMERR"` - `const AS112SummaryQueryTypeParamsResponseCodeServfail AS112SummaryQueryTypeParamsResponseCode = "SERVFAIL"` - `const AS112SummaryQueryTypeParamsResponseCodeNxdomain AS112SummaryQueryTypeParamsResponseCode = "NXDOMAIN"` - `const AS112SummaryQueryTypeParamsResponseCodeNotimp AS112SummaryQueryTypeParamsResponseCode = "NOTIMP"` - `const AS112SummaryQueryTypeParamsResponseCodeRefused AS112SummaryQueryTypeParamsResponseCode = "REFUSED"` - `const AS112SummaryQueryTypeParamsResponseCodeYxdomain AS112SummaryQueryTypeParamsResponseCode = "YXDOMAIN"` - `const AS112SummaryQueryTypeParamsResponseCodeYxrrset AS112SummaryQueryTypeParamsResponseCode = "YXRRSET"` - `const AS112SummaryQueryTypeParamsResponseCodeNxrrset AS112SummaryQueryTypeParamsResponseCode = "NXRRSET"` - `const AS112SummaryQueryTypeParamsResponseCodeNotauth AS112SummaryQueryTypeParamsResponseCode = "NOTAUTH"` - `const AS112SummaryQueryTypeParamsResponseCodeNotzone AS112SummaryQueryTypeParamsResponseCode = "NOTZONE"` - `const AS112SummaryQueryTypeParamsResponseCodeBadsig AS112SummaryQueryTypeParamsResponseCode = "BADSIG"` - `const AS112SummaryQueryTypeParamsResponseCodeBadkey AS112SummaryQueryTypeParamsResponseCode = "BADKEY"` - `const AS112SummaryQueryTypeParamsResponseCodeBadtime AS112SummaryQueryTypeParamsResponseCode = "BADTIME"` - `const AS112SummaryQueryTypeParamsResponseCodeBadmode AS112SummaryQueryTypeParamsResponseCode = "BADMODE"` - `const AS112SummaryQueryTypeParamsResponseCodeBadname AS112SummaryQueryTypeParamsResponseCode = "BADNAME"` - `const AS112SummaryQueryTypeParamsResponseCodeBadalg AS112SummaryQueryTypeParamsResponseCode = "BADALG"` - `const AS112SummaryQueryTypeParamsResponseCodeBadtrunc AS112SummaryQueryTypeParamsResponseCode = "BADTRUNC"` - `const AS112SummaryQueryTypeParamsResponseCodeBadcookie AS112SummaryQueryTypeParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112SummaryQueryTypeResponse struct{…}` - `Meta AS112SummaryQueryTypeResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryQueryTypeResponseMetaConfidenceInfo` - `Annotations []AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryQueryTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryQueryTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryQueryTypeResponseMetaNormalizationPercentage AS112SummaryQueryTypeResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryQueryTypeResponseMetaNormalizationMin0Max AS112SummaryQueryTypeResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryQueryTypeResponseMetaNormalizationMinMax AS112SummaryQueryTypeResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryQueryTypeResponseMetaNormalizationRawValues AS112SummaryQueryTypeResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryQueryTypeResponseMetaNormalizationPercentageChange AS112SummaryQueryTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryQueryTypeResponseMetaNormalizationRollingAverage AS112SummaryQueryTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryQueryTypeResponseMetaNormalizationOverlappedPercentage AS112SummaryQueryTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryQueryTypeResponseMetaNormalizationRatio AS112SummaryQueryTypeResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryQueryTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.QueryType(context.TODO(), radar.AS112SummaryQueryTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": "19", "AAAA": "1", "PTR": "74", "SOA": "5", "SRV": "1" } }, "success": true } ``` ## Get AS112 DNS queries by response code summary `client.Radar.AS112.Summary.ResponseCodes(ctx, query) (*AS112SummaryResponseCodesResponse, error)` **get** `/radar/as112/summary/response_codes` Retrieves the distribution of AS112 DNS requests classified by response code. ### Parameters - `query AS112SummaryResponseCodesParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112SummaryResponseCodesParamsFormat]` Format in which results will be returned. - `const AS112SummaryResponseCodesParamsFormatJson AS112SummaryResponseCodesParamsFormat = "JSON"` - `const AS112SummaryResponseCodesParamsFormatCsv AS112SummaryResponseCodesParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112SummaryResponseCodesParamsProtocol]` Filters results by DNS transport protocol. - `const AS112SummaryResponseCodesParamsProtocolUdp AS112SummaryResponseCodesParamsProtocol = "UDP"` - `const AS112SummaryResponseCodesParamsProtocolTCP AS112SummaryResponseCodesParamsProtocol = "TCP"` - `const AS112SummaryResponseCodesParamsProtocolHTTPS AS112SummaryResponseCodesParamsProtocol = "HTTPS"` - `const AS112SummaryResponseCodesParamsProtocolTLS AS112SummaryResponseCodesParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112SummaryResponseCodesParamsQueryType]` Filters results by DNS query type. - `const AS112SummaryResponseCodesParamsQueryTypeA AS112SummaryResponseCodesParamsQueryType = "A"` - `const AS112SummaryResponseCodesParamsQueryTypeAAAA AS112SummaryResponseCodesParamsQueryType = "AAAA"` - `const AS112SummaryResponseCodesParamsQueryTypeA6 AS112SummaryResponseCodesParamsQueryType = "A6"` - `const AS112SummaryResponseCodesParamsQueryTypeAfsdb AS112SummaryResponseCodesParamsQueryType = "AFSDB"` - `const AS112SummaryResponseCodesParamsQueryTypeAny AS112SummaryResponseCodesParamsQueryType = "ANY"` - `const AS112SummaryResponseCodesParamsQueryTypeApl AS112SummaryResponseCodesParamsQueryType = "APL"` - `const AS112SummaryResponseCodesParamsQueryTypeAtma AS112SummaryResponseCodesParamsQueryType = "ATMA"` - `const AS112SummaryResponseCodesParamsQueryTypeAXFR AS112SummaryResponseCodesParamsQueryType = "AXFR"` - `const AS112SummaryResponseCodesParamsQueryTypeCAA AS112SummaryResponseCodesParamsQueryType = "CAA"` - `const AS112SummaryResponseCodesParamsQueryTypeCdnskey AS112SummaryResponseCodesParamsQueryType = "CDNSKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeCds AS112SummaryResponseCodesParamsQueryType = "CDS"` - `const AS112SummaryResponseCodesParamsQueryTypeCERT AS112SummaryResponseCodesParamsQueryType = "CERT"` - `const AS112SummaryResponseCodesParamsQueryTypeCNAME AS112SummaryResponseCodesParamsQueryType = "CNAME"` - `const AS112SummaryResponseCodesParamsQueryTypeCsync AS112SummaryResponseCodesParamsQueryType = "CSYNC"` - `const AS112SummaryResponseCodesParamsQueryTypeDhcid AS112SummaryResponseCodesParamsQueryType = "DHCID"` - `const AS112SummaryResponseCodesParamsQueryTypeDlv AS112SummaryResponseCodesParamsQueryType = "DLV"` - `const AS112SummaryResponseCodesParamsQueryTypeDname AS112SummaryResponseCodesParamsQueryType = "DNAME"` - `const AS112SummaryResponseCodesParamsQueryTypeDNSKEY AS112SummaryResponseCodesParamsQueryType = "DNSKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeDoa AS112SummaryResponseCodesParamsQueryType = "DOA"` - `const AS112SummaryResponseCodesParamsQueryTypeDS AS112SummaryResponseCodesParamsQueryType = "DS"` - `const AS112SummaryResponseCodesParamsQueryTypeEid AS112SummaryResponseCodesParamsQueryType = "EID"` - `const AS112SummaryResponseCodesParamsQueryTypeEui48 AS112SummaryResponseCodesParamsQueryType = "EUI48"` - `const AS112SummaryResponseCodesParamsQueryTypeEui64 AS112SummaryResponseCodesParamsQueryType = "EUI64"` - `const AS112SummaryResponseCodesParamsQueryTypeGpos AS112SummaryResponseCodesParamsQueryType = "GPOS"` - `const AS112SummaryResponseCodesParamsQueryTypeGid AS112SummaryResponseCodesParamsQueryType = "GID"` - `const AS112SummaryResponseCodesParamsQueryTypeHinfo AS112SummaryResponseCodesParamsQueryType = "HINFO"` - `const AS112SummaryResponseCodesParamsQueryTypeHip AS112SummaryResponseCodesParamsQueryType = "HIP"` - `const AS112SummaryResponseCodesParamsQueryTypeHTTPS AS112SummaryResponseCodesParamsQueryType = "HTTPS"` - `const AS112SummaryResponseCodesParamsQueryTypeIpseckey AS112SummaryResponseCodesParamsQueryType = "IPSECKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeIsdn AS112SummaryResponseCodesParamsQueryType = "ISDN"` - `const AS112SummaryResponseCodesParamsQueryTypeIxfr AS112SummaryResponseCodesParamsQueryType = "IXFR"` - `const AS112SummaryResponseCodesParamsQueryTypeKey AS112SummaryResponseCodesParamsQueryType = "KEY"` - `const AS112SummaryResponseCodesParamsQueryTypeKx AS112SummaryResponseCodesParamsQueryType = "KX"` - `const AS112SummaryResponseCodesParamsQueryTypeL32 AS112SummaryResponseCodesParamsQueryType = "L32"` - `const AS112SummaryResponseCodesParamsQueryTypeL64 AS112SummaryResponseCodesParamsQueryType = "L64"` - `const AS112SummaryResponseCodesParamsQueryTypeLOC AS112SummaryResponseCodesParamsQueryType = "LOC"` - `const AS112SummaryResponseCodesParamsQueryTypeLp AS112SummaryResponseCodesParamsQueryType = "LP"` - `const AS112SummaryResponseCodesParamsQueryTypeMaila AS112SummaryResponseCodesParamsQueryType = "MAILA"` - `const AS112SummaryResponseCodesParamsQueryTypeMailb AS112SummaryResponseCodesParamsQueryType = "MAILB"` - `const AS112SummaryResponseCodesParamsQueryTypeMB AS112SummaryResponseCodesParamsQueryType = "MB"` - `const AS112SummaryResponseCodesParamsQueryTypeMd AS112SummaryResponseCodesParamsQueryType = "MD"` - `const AS112SummaryResponseCodesParamsQueryTypeMf AS112SummaryResponseCodesParamsQueryType = "MF"` - `const AS112SummaryResponseCodesParamsQueryTypeMg AS112SummaryResponseCodesParamsQueryType = "MG"` - `const AS112SummaryResponseCodesParamsQueryTypeMinfo AS112SummaryResponseCodesParamsQueryType = "MINFO"` - `const AS112SummaryResponseCodesParamsQueryTypeMr AS112SummaryResponseCodesParamsQueryType = "MR"` - `const AS112SummaryResponseCodesParamsQueryTypeMX AS112SummaryResponseCodesParamsQueryType = "MX"` - `const AS112SummaryResponseCodesParamsQueryTypeNAPTR AS112SummaryResponseCodesParamsQueryType = "NAPTR"` - `const AS112SummaryResponseCodesParamsQueryTypeNb AS112SummaryResponseCodesParamsQueryType = "NB"` - `const AS112SummaryResponseCodesParamsQueryTypeNbstat AS112SummaryResponseCodesParamsQueryType = "NBSTAT"` - `const AS112SummaryResponseCodesParamsQueryTypeNid AS112SummaryResponseCodesParamsQueryType = "NID"` - `const AS112SummaryResponseCodesParamsQueryTypeNimloc AS112SummaryResponseCodesParamsQueryType = "NIMLOC"` - `const AS112SummaryResponseCodesParamsQueryTypeNinfo AS112SummaryResponseCodesParamsQueryType = "NINFO"` - `const AS112SummaryResponseCodesParamsQueryTypeNS AS112SummaryResponseCodesParamsQueryType = "NS"` - `const AS112SummaryResponseCodesParamsQueryTypeNsap AS112SummaryResponseCodesParamsQueryType = "NSAP"` - `const AS112SummaryResponseCodesParamsQueryTypeNsec AS112SummaryResponseCodesParamsQueryType = "NSEC"` - `const AS112SummaryResponseCodesParamsQueryTypeNsec3 AS112SummaryResponseCodesParamsQueryType = "NSEC3"` - `const AS112SummaryResponseCodesParamsQueryTypeNsec3Param AS112SummaryResponseCodesParamsQueryType = "NSEC3PARAM"` - `const AS112SummaryResponseCodesParamsQueryTypeNull AS112SummaryResponseCodesParamsQueryType = "NULL"` - `const AS112SummaryResponseCodesParamsQueryTypeNxt AS112SummaryResponseCodesParamsQueryType = "NXT"` - `const AS112SummaryResponseCodesParamsQueryTypeOpenpgpkey AS112SummaryResponseCodesParamsQueryType = "OPENPGPKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeOpt AS112SummaryResponseCodesParamsQueryType = "OPT"` - `const AS112SummaryResponseCodesParamsQueryTypePTR AS112SummaryResponseCodesParamsQueryType = "PTR"` - `const AS112SummaryResponseCodesParamsQueryTypePx AS112SummaryResponseCodesParamsQueryType = "PX"` - `const AS112SummaryResponseCodesParamsQueryTypeRkey AS112SummaryResponseCodesParamsQueryType = "RKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeRp AS112SummaryResponseCodesParamsQueryType = "RP"` - `const AS112SummaryResponseCodesParamsQueryTypeRrsig AS112SummaryResponseCodesParamsQueryType = "RRSIG"` - `const AS112SummaryResponseCodesParamsQueryTypeRt AS112SummaryResponseCodesParamsQueryType = "RT"` - `const AS112SummaryResponseCodesParamsQueryTypeSig AS112SummaryResponseCodesParamsQueryType = "SIG"` - `const AS112SummaryResponseCodesParamsQueryTypeSink AS112SummaryResponseCodesParamsQueryType = "SINK"` - `const AS112SummaryResponseCodesParamsQueryTypeSMIMEA AS112SummaryResponseCodesParamsQueryType = "SMIMEA"` - `const AS112SummaryResponseCodesParamsQueryTypeSOA AS112SummaryResponseCodesParamsQueryType = "SOA"` - `const AS112SummaryResponseCodesParamsQueryTypeSPF AS112SummaryResponseCodesParamsQueryType = "SPF"` - `const AS112SummaryResponseCodesParamsQueryTypeSRV AS112SummaryResponseCodesParamsQueryType = "SRV"` - `const AS112SummaryResponseCodesParamsQueryTypeSSHFP AS112SummaryResponseCodesParamsQueryType = "SSHFP"` - `const AS112SummaryResponseCodesParamsQueryTypeSVCB AS112SummaryResponseCodesParamsQueryType = "SVCB"` - `const AS112SummaryResponseCodesParamsQueryTypeTa AS112SummaryResponseCodesParamsQueryType = "TA"` - `const AS112SummaryResponseCodesParamsQueryTypeTalink AS112SummaryResponseCodesParamsQueryType = "TALINK"` - `const AS112SummaryResponseCodesParamsQueryTypeTkey AS112SummaryResponseCodesParamsQueryType = "TKEY"` - `const AS112SummaryResponseCodesParamsQueryTypeTLSA AS112SummaryResponseCodesParamsQueryType = "TLSA"` - `const AS112SummaryResponseCodesParamsQueryTypeTSIG AS112SummaryResponseCodesParamsQueryType = "TSIG"` - `const AS112SummaryResponseCodesParamsQueryTypeTXT AS112SummaryResponseCodesParamsQueryType = "TXT"` - `const AS112SummaryResponseCodesParamsQueryTypeUinfo AS112SummaryResponseCodesParamsQueryType = "UINFO"` - `const AS112SummaryResponseCodesParamsQueryTypeUID AS112SummaryResponseCodesParamsQueryType = "UID"` - `const AS112SummaryResponseCodesParamsQueryTypeUnspec AS112SummaryResponseCodesParamsQueryType = "UNSPEC"` - `const AS112SummaryResponseCodesParamsQueryTypeURI AS112SummaryResponseCodesParamsQueryType = "URI"` - `const AS112SummaryResponseCodesParamsQueryTypeWks AS112SummaryResponseCodesParamsQueryType = "WKS"` - `const AS112SummaryResponseCodesParamsQueryTypeX25 AS112SummaryResponseCodesParamsQueryType = "X25"` - `const AS112SummaryResponseCodesParamsQueryTypeZonemd AS112SummaryResponseCodesParamsQueryType = "ZONEMD"` ### Returns - `type AS112SummaryResponseCodesResponse struct{…}` - `Meta AS112SummaryResponseCodesResponseMeta` Metadata for the results. - `ConfidenceInfo AS112SummaryResponseCodesResponseMetaConfidenceInfo` - `Annotations []AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotation` - `DataSource AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112SummaryResponseCodesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112SummaryResponseCodesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112SummaryResponseCodesResponseMetaNormalizationPercentage AS112SummaryResponseCodesResponseMetaNormalization = "PERCENTAGE"` - `const AS112SummaryResponseCodesResponseMetaNormalizationMin0Max AS112SummaryResponseCodesResponseMetaNormalization = "MIN0_MAX"` - `const AS112SummaryResponseCodesResponseMetaNormalizationMinMax AS112SummaryResponseCodesResponseMetaNormalization = "MIN_MAX"` - `const AS112SummaryResponseCodesResponseMetaNormalizationRawValues AS112SummaryResponseCodesResponseMetaNormalization = "RAW_VALUES"` - `const AS112SummaryResponseCodesResponseMetaNormalizationPercentageChange AS112SummaryResponseCodesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112SummaryResponseCodesResponseMetaNormalizationRollingAverage AS112SummaryResponseCodesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112SummaryResponseCodesResponseMetaNormalizationOverlappedPercentage AS112SummaryResponseCodesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112SummaryResponseCodesResponseMetaNormalizationRatio AS112SummaryResponseCodesResponseMetaNormalization = "RATIO"` - `Units []AS112SummaryResponseCodesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Summary.ResponseCodes(context.TODO(), radar.AS112SummaryResponseCodesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Timeseries Groups ## Get AS112 DNS queries by DNS protocol time series `client.Radar.AS112.TimeseriesGroups.Protocol(ctx, query) (*AS112TimeseriesGroupProtocolResponse, error)` **get** `/radar/as112/timeseries_groups/protocol` Retrieves the distribution of AS112 DNS requests classified by protocol over time. ### Parameters - `query AS112TimeseriesGroupProtocolParams` - `AggInterval param.Field[AS112TimeseriesGroupProtocolParamsAggInterval]` 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/). - `const AS112TimeseriesGroupProtocolParamsAggInterval15m AS112TimeseriesGroupProtocolParamsAggInterval = "15m"` - `const AS112TimeseriesGroupProtocolParamsAggInterval1h AS112TimeseriesGroupProtocolParamsAggInterval = "1h"` - `const AS112TimeseriesGroupProtocolParamsAggInterval1d AS112TimeseriesGroupProtocolParamsAggInterval = "1d"` - `const AS112TimeseriesGroupProtocolParamsAggInterval1w AS112TimeseriesGroupProtocolParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupProtocolParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupProtocolParamsFormatJson AS112TimeseriesGroupProtocolParamsFormat = "JSON"` - `const AS112TimeseriesGroupProtocolParamsFormatCsv AS112TimeseriesGroupProtocolParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `QueryType param.Field[[]AS112TimeseriesGroupProtocolParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupProtocolParamsQueryTypeA AS112TimeseriesGroupProtocolParamsQueryType = "A"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeAAAA AS112TimeseriesGroupProtocolParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeA6 AS112TimeseriesGroupProtocolParamsQueryType = "A6"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeAfsdb AS112TimeseriesGroupProtocolParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeAny AS112TimeseriesGroupProtocolParamsQueryType = "ANY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeApl AS112TimeseriesGroupProtocolParamsQueryType = "APL"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeAtma AS112TimeseriesGroupProtocolParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeAXFR AS112TimeseriesGroupProtocolParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCAA AS112TimeseriesGroupProtocolParamsQueryType = "CAA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCdnskey AS112TimeseriesGroupProtocolParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCds AS112TimeseriesGroupProtocolParamsQueryType = "CDS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCERT AS112TimeseriesGroupProtocolParamsQueryType = "CERT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCNAME AS112TimeseriesGroupProtocolParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeCsync AS112TimeseriesGroupProtocolParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDhcid AS112TimeseriesGroupProtocolParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDlv AS112TimeseriesGroupProtocolParamsQueryType = "DLV"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDname AS112TimeseriesGroupProtocolParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDNSKEY AS112TimeseriesGroupProtocolParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDoa AS112TimeseriesGroupProtocolParamsQueryType = "DOA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeDS AS112TimeseriesGroupProtocolParamsQueryType = "DS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeEid AS112TimeseriesGroupProtocolParamsQueryType = "EID"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeEui48 AS112TimeseriesGroupProtocolParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeEui64 AS112TimeseriesGroupProtocolParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeGpos AS112TimeseriesGroupProtocolParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeGid AS112TimeseriesGroupProtocolParamsQueryType = "GID"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeHinfo AS112TimeseriesGroupProtocolParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeHip AS112TimeseriesGroupProtocolParamsQueryType = "HIP"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeHTTPS AS112TimeseriesGroupProtocolParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeIpseckey AS112TimeseriesGroupProtocolParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeIsdn AS112TimeseriesGroupProtocolParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeIxfr AS112TimeseriesGroupProtocolParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeKey AS112TimeseriesGroupProtocolParamsQueryType = "KEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeKx AS112TimeseriesGroupProtocolParamsQueryType = "KX"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeL32 AS112TimeseriesGroupProtocolParamsQueryType = "L32"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeL64 AS112TimeseriesGroupProtocolParamsQueryType = "L64"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeLOC AS112TimeseriesGroupProtocolParamsQueryType = "LOC"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeLp AS112TimeseriesGroupProtocolParamsQueryType = "LP"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMaila AS112TimeseriesGroupProtocolParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMailb AS112TimeseriesGroupProtocolParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMB AS112TimeseriesGroupProtocolParamsQueryType = "MB"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMd AS112TimeseriesGroupProtocolParamsQueryType = "MD"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMf AS112TimeseriesGroupProtocolParamsQueryType = "MF"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMg AS112TimeseriesGroupProtocolParamsQueryType = "MG"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMinfo AS112TimeseriesGroupProtocolParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMr AS112TimeseriesGroupProtocolParamsQueryType = "MR"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeMX AS112TimeseriesGroupProtocolParamsQueryType = "MX"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNAPTR AS112TimeseriesGroupProtocolParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNb AS112TimeseriesGroupProtocolParamsQueryType = "NB"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNbstat AS112TimeseriesGroupProtocolParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNid AS112TimeseriesGroupProtocolParamsQueryType = "NID"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNimloc AS112TimeseriesGroupProtocolParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNinfo AS112TimeseriesGroupProtocolParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNS AS112TimeseriesGroupProtocolParamsQueryType = "NS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNsap AS112TimeseriesGroupProtocolParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNsec AS112TimeseriesGroupProtocolParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNsec3 AS112TimeseriesGroupProtocolParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNsec3Param AS112TimeseriesGroupProtocolParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNull AS112TimeseriesGroupProtocolParamsQueryType = "NULL"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeNxt AS112TimeseriesGroupProtocolParamsQueryType = "NXT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeOpenpgpkey AS112TimeseriesGroupProtocolParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeOpt AS112TimeseriesGroupProtocolParamsQueryType = "OPT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypePTR AS112TimeseriesGroupProtocolParamsQueryType = "PTR"` - `const AS112TimeseriesGroupProtocolParamsQueryTypePx AS112TimeseriesGroupProtocolParamsQueryType = "PX"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeRkey AS112TimeseriesGroupProtocolParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeRp AS112TimeseriesGroupProtocolParamsQueryType = "RP"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeRrsig AS112TimeseriesGroupProtocolParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeRt AS112TimeseriesGroupProtocolParamsQueryType = "RT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSig AS112TimeseriesGroupProtocolParamsQueryType = "SIG"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSink AS112TimeseriesGroupProtocolParamsQueryType = "SINK"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSMIMEA AS112TimeseriesGroupProtocolParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSOA AS112TimeseriesGroupProtocolParamsQueryType = "SOA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSPF AS112TimeseriesGroupProtocolParamsQueryType = "SPF"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSRV AS112TimeseriesGroupProtocolParamsQueryType = "SRV"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSSHFP AS112TimeseriesGroupProtocolParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeSVCB AS112TimeseriesGroupProtocolParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTa AS112TimeseriesGroupProtocolParamsQueryType = "TA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTalink AS112TimeseriesGroupProtocolParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTkey AS112TimeseriesGroupProtocolParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTLSA AS112TimeseriesGroupProtocolParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTSIG AS112TimeseriesGroupProtocolParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeTXT AS112TimeseriesGroupProtocolParamsQueryType = "TXT"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeUinfo AS112TimeseriesGroupProtocolParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeUID AS112TimeseriesGroupProtocolParamsQueryType = "UID"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeUnspec AS112TimeseriesGroupProtocolParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeURI AS112TimeseriesGroupProtocolParamsQueryType = "URI"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeWks AS112TimeseriesGroupProtocolParamsQueryType = "WKS"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeX25 AS112TimeseriesGroupProtocolParamsQueryType = "X25"` - `const AS112TimeseriesGroupProtocolParamsQueryTypeZonemd AS112TimeseriesGroupProtocolParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesGroupProtocolParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupProtocolParamsResponseCodeNoerror AS112TimeseriesGroupProtocolParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeFormerr AS112TimeseriesGroupProtocolParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeServfail AS112TimeseriesGroupProtocolParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeNxdomain AS112TimeseriesGroupProtocolParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeNotimp AS112TimeseriesGroupProtocolParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeRefused AS112TimeseriesGroupProtocolParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeYxdomain AS112TimeseriesGroupProtocolParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeYxrrset AS112TimeseriesGroupProtocolParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeNxrrset AS112TimeseriesGroupProtocolParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeNotauth AS112TimeseriesGroupProtocolParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeNotzone AS112TimeseriesGroupProtocolParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadsig AS112TimeseriesGroupProtocolParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadkey AS112TimeseriesGroupProtocolParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadtime AS112TimeseriesGroupProtocolParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadmode AS112TimeseriesGroupProtocolParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadname AS112TimeseriesGroupProtocolParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadalg AS112TimeseriesGroupProtocolParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadtrunc AS112TimeseriesGroupProtocolParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupProtocolParamsResponseCodeBadcookie AS112TimeseriesGroupProtocolParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupProtocolResponse struct{…}` - `Meta AS112TimeseriesGroupProtocolResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupProtocolResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupProtocolResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupProtocolResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupProtocolResponseMetaAggIntervalOneHour AS112TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupProtocolResponseMetaAggIntervalOneDay AS112TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupProtocolResponseMetaAggIntervalOneWeek AS112TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupProtocolResponseMetaAggIntervalOneMonth AS112TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupProtocolResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationPercentage AS112TimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationMin0Max AS112TimeseriesGroupProtocolResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationMinMax AS112TimeseriesGroupProtocolResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationRawValues AS112TimeseriesGroupProtocolResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationPercentageChange AS112TimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationRollingAverage AS112TimeseriesGroupProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupProtocolResponseMetaNormalizationRatio AS112TimeseriesGroupProtocolResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupProtocolResponseSerie0` - `HTTPS []string` - `TCP []string` - `TLS []string` - `Udp []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.Protocol(context.TODO(), radar.AS112TimeseriesGroupProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by type time series `client.Radar.AS112.TimeseriesGroups.QueryType(ctx, query) (*AS112TimeseriesGroupQueryTypeResponse, error)` **get** `/radar/as112/timeseries_groups/query_type` Retrieves the distribution of AS112 DNS queries by type over time. ### Parameters - `query AS112TimeseriesGroupQueryTypeParams` - `AggInterval param.Field[AS112TimeseriesGroupQueryTypeParamsAggInterval]` 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/). - `const AS112TimeseriesGroupQueryTypeParamsAggInterval15m AS112TimeseriesGroupQueryTypeParamsAggInterval = "15m"` - `const AS112TimeseriesGroupQueryTypeParamsAggInterval1h AS112TimeseriesGroupQueryTypeParamsAggInterval = "1h"` - `const AS112TimeseriesGroupQueryTypeParamsAggInterval1d AS112TimeseriesGroupQueryTypeParamsAggInterval = "1d"` - `const AS112TimeseriesGroupQueryTypeParamsAggInterval1w AS112TimeseriesGroupQueryTypeParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupQueryTypeParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupQueryTypeParamsFormatJson AS112TimeseriesGroupQueryTypeParamsFormat = "JSON"` - `const AS112TimeseriesGroupQueryTypeParamsFormatCsv AS112TimeseriesGroupQueryTypeParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupQueryTypeParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupQueryTypeParamsProtocolUdp AS112TimeseriesGroupQueryTypeParamsProtocol = "UDP"` - `const AS112TimeseriesGroupQueryTypeParamsProtocolTCP AS112TimeseriesGroupQueryTypeParamsProtocol = "TCP"` - `const AS112TimeseriesGroupQueryTypeParamsProtocolHTTPS AS112TimeseriesGroupQueryTypeParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupQueryTypeParamsProtocolTLS AS112TimeseriesGroupQueryTypeParamsProtocol = "TLS"` - `ResponseCode param.Field[[]AS112TimeseriesGroupQueryTypeParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNoerror AS112TimeseriesGroupQueryTypeParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeFormerr AS112TimeseriesGroupQueryTypeParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeServfail AS112TimeseriesGroupQueryTypeParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNxdomain AS112TimeseriesGroupQueryTypeParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNotimp AS112TimeseriesGroupQueryTypeParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeRefused AS112TimeseriesGroupQueryTypeParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeYxdomain AS112TimeseriesGroupQueryTypeParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeYxrrset AS112TimeseriesGroupQueryTypeParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNxrrset AS112TimeseriesGroupQueryTypeParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNotauth AS112TimeseriesGroupQueryTypeParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeNotzone AS112TimeseriesGroupQueryTypeParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadsig AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadkey AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadtime AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadmode AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadname AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadalg AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadtrunc AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupQueryTypeParamsResponseCodeBadcookie AS112TimeseriesGroupQueryTypeParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupQueryTypeResponse struct{…}` - `Meta AS112TimeseriesGroupQueryTypeResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupQueryTypeResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupQueryTypeResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupQueryTypeResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupQueryTypeResponseMetaAggIntervalOneHour AS112TimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupQueryTypeResponseMetaAggIntervalOneDay AS112TimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupQueryTypeResponseMetaAggIntervalOneWeek AS112TimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupQueryTypeResponseMetaAggIntervalOneMonth AS112TimeseriesGroupQueryTypeResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupQueryTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupQueryTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupQueryTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationPercentage AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationMin0Max AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationMinMax AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationRawValues AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationPercentageChange AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationRollingAverage AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupQueryTypeResponseMetaNormalizationRatio AS112TimeseriesGroupQueryTypeResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupQueryTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupQueryTypeResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.QueryType(context.TODO(), radar.AS112TimeseriesGroupQueryTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by response code time series `client.Radar.AS112.TimeseriesGroups.ResponseCodes(ctx, query) (*AS112TimeseriesGroupResponseCodesResponse, error)` **get** `/radar/as112/timeseries_groups/response_codes` Retrieves the distribution of AS112 DNS requests classified by response code over time. ### Parameters - `query AS112TimeseriesGroupResponseCodesParams` - `AggInterval param.Field[AS112TimeseriesGroupResponseCodesParamsAggInterval]` 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/). - `const AS112TimeseriesGroupResponseCodesParamsAggInterval15m AS112TimeseriesGroupResponseCodesParamsAggInterval = "15m"` - `const AS112TimeseriesGroupResponseCodesParamsAggInterval1h AS112TimeseriesGroupResponseCodesParamsAggInterval = "1h"` - `const AS112TimeseriesGroupResponseCodesParamsAggInterval1d AS112TimeseriesGroupResponseCodesParamsAggInterval = "1d"` - `const AS112TimeseriesGroupResponseCodesParamsAggInterval1w AS112TimeseriesGroupResponseCodesParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupResponseCodesParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupResponseCodesParamsFormatJson AS112TimeseriesGroupResponseCodesParamsFormat = "JSON"` - `const AS112TimeseriesGroupResponseCodesParamsFormatCsv AS112TimeseriesGroupResponseCodesParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupResponseCodesParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupResponseCodesParamsProtocolUdp AS112TimeseriesGroupResponseCodesParamsProtocol = "UDP"` - `const AS112TimeseriesGroupResponseCodesParamsProtocolTCP AS112TimeseriesGroupResponseCodesParamsProtocol = "TCP"` - `const AS112TimeseriesGroupResponseCodesParamsProtocolHTTPS AS112TimeseriesGroupResponseCodesParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupResponseCodesParamsProtocolTLS AS112TimeseriesGroupResponseCodesParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesGroupResponseCodesParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeA AS112TimeseriesGroupResponseCodesParamsQueryType = "A"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeAAAA AS112TimeseriesGroupResponseCodesParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeA6 AS112TimeseriesGroupResponseCodesParamsQueryType = "A6"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeAfsdb AS112TimeseriesGroupResponseCodesParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeAny AS112TimeseriesGroupResponseCodesParamsQueryType = "ANY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeApl AS112TimeseriesGroupResponseCodesParamsQueryType = "APL"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeAtma AS112TimeseriesGroupResponseCodesParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeAXFR AS112TimeseriesGroupResponseCodesParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCAA AS112TimeseriesGroupResponseCodesParamsQueryType = "CAA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCdnskey AS112TimeseriesGroupResponseCodesParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCds AS112TimeseriesGroupResponseCodesParamsQueryType = "CDS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCERT AS112TimeseriesGroupResponseCodesParamsQueryType = "CERT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCNAME AS112TimeseriesGroupResponseCodesParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeCsync AS112TimeseriesGroupResponseCodesParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDhcid AS112TimeseriesGroupResponseCodesParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDlv AS112TimeseriesGroupResponseCodesParamsQueryType = "DLV"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDname AS112TimeseriesGroupResponseCodesParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDNSKEY AS112TimeseriesGroupResponseCodesParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDoa AS112TimeseriesGroupResponseCodesParamsQueryType = "DOA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeDS AS112TimeseriesGroupResponseCodesParamsQueryType = "DS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeEid AS112TimeseriesGroupResponseCodesParamsQueryType = "EID"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeEui48 AS112TimeseriesGroupResponseCodesParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeEui64 AS112TimeseriesGroupResponseCodesParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeGpos AS112TimeseriesGroupResponseCodesParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeGid AS112TimeseriesGroupResponseCodesParamsQueryType = "GID"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeHinfo AS112TimeseriesGroupResponseCodesParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeHip AS112TimeseriesGroupResponseCodesParamsQueryType = "HIP"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeHTTPS AS112TimeseriesGroupResponseCodesParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeIpseckey AS112TimeseriesGroupResponseCodesParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeIsdn AS112TimeseriesGroupResponseCodesParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeIxfr AS112TimeseriesGroupResponseCodesParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeKey AS112TimeseriesGroupResponseCodesParamsQueryType = "KEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeKx AS112TimeseriesGroupResponseCodesParamsQueryType = "KX"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeL32 AS112TimeseriesGroupResponseCodesParamsQueryType = "L32"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeL64 AS112TimeseriesGroupResponseCodesParamsQueryType = "L64"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeLOC AS112TimeseriesGroupResponseCodesParamsQueryType = "LOC"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeLp AS112TimeseriesGroupResponseCodesParamsQueryType = "LP"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMaila AS112TimeseriesGroupResponseCodesParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMailb AS112TimeseriesGroupResponseCodesParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMB AS112TimeseriesGroupResponseCodesParamsQueryType = "MB"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMd AS112TimeseriesGroupResponseCodesParamsQueryType = "MD"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMf AS112TimeseriesGroupResponseCodesParamsQueryType = "MF"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMg AS112TimeseriesGroupResponseCodesParamsQueryType = "MG"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMinfo AS112TimeseriesGroupResponseCodesParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMr AS112TimeseriesGroupResponseCodesParamsQueryType = "MR"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeMX AS112TimeseriesGroupResponseCodesParamsQueryType = "MX"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNAPTR AS112TimeseriesGroupResponseCodesParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNb AS112TimeseriesGroupResponseCodesParamsQueryType = "NB"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNbstat AS112TimeseriesGroupResponseCodesParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNid AS112TimeseriesGroupResponseCodesParamsQueryType = "NID"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNimloc AS112TimeseriesGroupResponseCodesParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNinfo AS112TimeseriesGroupResponseCodesParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNS AS112TimeseriesGroupResponseCodesParamsQueryType = "NS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNsap AS112TimeseriesGroupResponseCodesParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNsec AS112TimeseriesGroupResponseCodesParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNsec3 AS112TimeseriesGroupResponseCodesParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNsec3Param AS112TimeseriesGroupResponseCodesParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNull AS112TimeseriesGroupResponseCodesParamsQueryType = "NULL"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeNxt AS112TimeseriesGroupResponseCodesParamsQueryType = "NXT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeOpenpgpkey AS112TimeseriesGroupResponseCodesParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeOpt AS112TimeseriesGroupResponseCodesParamsQueryType = "OPT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypePTR AS112TimeseriesGroupResponseCodesParamsQueryType = "PTR"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypePx AS112TimeseriesGroupResponseCodesParamsQueryType = "PX"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeRkey AS112TimeseriesGroupResponseCodesParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeRp AS112TimeseriesGroupResponseCodesParamsQueryType = "RP"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeRrsig AS112TimeseriesGroupResponseCodesParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeRt AS112TimeseriesGroupResponseCodesParamsQueryType = "RT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSig AS112TimeseriesGroupResponseCodesParamsQueryType = "SIG"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSink AS112TimeseriesGroupResponseCodesParamsQueryType = "SINK"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSMIMEA AS112TimeseriesGroupResponseCodesParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSOA AS112TimeseriesGroupResponseCodesParamsQueryType = "SOA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSPF AS112TimeseriesGroupResponseCodesParamsQueryType = "SPF"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSRV AS112TimeseriesGroupResponseCodesParamsQueryType = "SRV"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSSHFP AS112TimeseriesGroupResponseCodesParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeSVCB AS112TimeseriesGroupResponseCodesParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTa AS112TimeseriesGroupResponseCodesParamsQueryType = "TA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTalink AS112TimeseriesGroupResponseCodesParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTkey AS112TimeseriesGroupResponseCodesParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTLSA AS112TimeseriesGroupResponseCodesParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTSIG AS112TimeseriesGroupResponseCodesParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeTXT AS112TimeseriesGroupResponseCodesParamsQueryType = "TXT"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeUinfo AS112TimeseriesGroupResponseCodesParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeUID AS112TimeseriesGroupResponseCodesParamsQueryType = "UID"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeUnspec AS112TimeseriesGroupResponseCodesParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeURI AS112TimeseriesGroupResponseCodesParamsQueryType = "URI"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeWks AS112TimeseriesGroupResponseCodesParamsQueryType = "WKS"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeX25 AS112TimeseriesGroupResponseCodesParamsQueryType = "X25"` - `const AS112TimeseriesGroupResponseCodesParamsQueryTypeZonemd AS112TimeseriesGroupResponseCodesParamsQueryType = "ZONEMD"` ### Returns - `type AS112TimeseriesGroupResponseCodesResponse struct{…}` - `Meta AS112TimeseriesGroupResponseCodesResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupResponseCodesResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupResponseCodesResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupResponseCodesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupResponseCodesResponseMetaAggIntervalOneHour AS112TimeseriesGroupResponseCodesResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupResponseCodesResponseMetaAggIntervalOneDay AS112TimeseriesGroupResponseCodesResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupResponseCodesResponseMetaAggIntervalOneWeek AS112TimeseriesGroupResponseCodesResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupResponseCodesResponseMetaAggIntervalOneMonth AS112TimeseriesGroupResponseCodesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupResponseCodesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupResponseCodesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupResponseCodesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationPercentage AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationMin0Max AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationMinMax AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationRawValues AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationPercentageChange AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationRollingAverage AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupResponseCodesResponseMetaNormalizationRatio AS112TimeseriesGroupResponseCodesResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupResponseCodesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupResponseCodesResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.ResponseCodes(context.TODO(), radar.AS112TimeseriesGroupResponseCodesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by DNSSEC support time series `client.Radar.AS112.TimeseriesGroups.DNSSEC(ctx, query) (*AS112TimeseriesGroupDNSSECResponse, error)` **get** `/radar/as112/timeseries_groups/dnssec` Retrieves the distribution of AS112 DNS queries by DNSSEC (DNS Security Extensions) support over time. ### Parameters - `query AS112TimeseriesGroupDNSSECParams` - `AggInterval param.Field[AS112TimeseriesGroupDNSSECParamsAggInterval]` 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/). - `const AS112TimeseriesGroupDNSSECParamsAggInterval15m AS112TimeseriesGroupDNSSECParamsAggInterval = "15m"` - `const AS112TimeseriesGroupDNSSECParamsAggInterval1h AS112TimeseriesGroupDNSSECParamsAggInterval = "1h"` - `const AS112TimeseriesGroupDNSSECParamsAggInterval1d AS112TimeseriesGroupDNSSECParamsAggInterval = "1d"` - `const AS112TimeseriesGroupDNSSECParamsAggInterval1w AS112TimeseriesGroupDNSSECParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupDNSSECParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupDNSSECParamsFormatJson AS112TimeseriesGroupDNSSECParamsFormat = "JSON"` - `const AS112TimeseriesGroupDNSSECParamsFormatCsv AS112TimeseriesGroupDNSSECParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupDNSSECParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupDNSSECParamsProtocolUdp AS112TimeseriesGroupDNSSECParamsProtocol = "UDP"` - `const AS112TimeseriesGroupDNSSECParamsProtocolTCP AS112TimeseriesGroupDNSSECParamsProtocol = "TCP"` - `const AS112TimeseriesGroupDNSSECParamsProtocolHTTPS AS112TimeseriesGroupDNSSECParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupDNSSECParamsProtocolTLS AS112TimeseriesGroupDNSSECParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesGroupDNSSECParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupDNSSECParamsQueryTypeA AS112TimeseriesGroupDNSSECParamsQueryType = "A"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeAAAA AS112TimeseriesGroupDNSSECParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeA6 AS112TimeseriesGroupDNSSECParamsQueryType = "A6"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeAfsdb AS112TimeseriesGroupDNSSECParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeAny AS112TimeseriesGroupDNSSECParamsQueryType = "ANY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeApl AS112TimeseriesGroupDNSSECParamsQueryType = "APL"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeAtma AS112TimeseriesGroupDNSSECParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeAXFR AS112TimeseriesGroupDNSSECParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCAA AS112TimeseriesGroupDNSSECParamsQueryType = "CAA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCdnskey AS112TimeseriesGroupDNSSECParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCds AS112TimeseriesGroupDNSSECParamsQueryType = "CDS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCERT AS112TimeseriesGroupDNSSECParamsQueryType = "CERT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCNAME AS112TimeseriesGroupDNSSECParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeCsync AS112TimeseriesGroupDNSSECParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDhcid AS112TimeseriesGroupDNSSECParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDlv AS112TimeseriesGroupDNSSECParamsQueryType = "DLV"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDname AS112TimeseriesGroupDNSSECParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDNSKEY AS112TimeseriesGroupDNSSECParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDoa AS112TimeseriesGroupDNSSECParamsQueryType = "DOA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeDS AS112TimeseriesGroupDNSSECParamsQueryType = "DS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeEid AS112TimeseriesGroupDNSSECParamsQueryType = "EID"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeEui48 AS112TimeseriesGroupDNSSECParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeEui64 AS112TimeseriesGroupDNSSECParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeGpos AS112TimeseriesGroupDNSSECParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeGid AS112TimeseriesGroupDNSSECParamsQueryType = "GID"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeHinfo AS112TimeseriesGroupDNSSECParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeHip AS112TimeseriesGroupDNSSECParamsQueryType = "HIP"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeHTTPS AS112TimeseriesGroupDNSSECParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeIpseckey AS112TimeseriesGroupDNSSECParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeIsdn AS112TimeseriesGroupDNSSECParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeIxfr AS112TimeseriesGroupDNSSECParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeKey AS112TimeseriesGroupDNSSECParamsQueryType = "KEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeKx AS112TimeseriesGroupDNSSECParamsQueryType = "KX"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeL32 AS112TimeseriesGroupDNSSECParamsQueryType = "L32"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeL64 AS112TimeseriesGroupDNSSECParamsQueryType = "L64"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeLOC AS112TimeseriesGroupDNSSECParamsQueryType = "LOC"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeLp AS112TimeseriesGroupDNSSECParamsQueryType = "LP"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMaila AS112TimeseriesGroupDNSSECParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMailb AS112TimeseriesGroupDNSSECParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMB AS112TimeseriesGroupDNSSECParamsQueryType = "MB"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMd AS112TimeseriesGroupDNSSECParamsQueryType = "MD"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMf AS112TimeseriesGroupDNSSECParamsQueryType = "MF"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMg AS112TimeseriesGroupDNSSECParamsQueryType = "MG"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMinfo AS112TimeseriesGroupDNSSECParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMr AS112TimeseriesGroupDNSSECParamsQueryType = "MR"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeMX AS112TimeseriesGroupDNSSECParamsQueryType = "MX"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNAPTR AS112TimeseriesGroupDNSSECParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNb AS112TimeseriesGroupDNSSECParamsQueryType = "NB"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNbstat AS112TimeseriesGroupDNSSECParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNid AS112TimeseriesGroupDNSSECParamsQueryType = "NID"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNimloc AS112TimeseriesGroupDNSSECParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNinfo AS112TimeseriesGroupDNSSECParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNS AS112TimeseriesGroupDNSSECParamsQueryType = "NS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNsap AS112TimeseriesGroupDNSSECParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNsec AS112TimeseriesGroupDNSSECParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNsec3 AS112TimeseriesGroupDNSSECParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNsec3Param AS112TimeseriesGroupDNSSECParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNull AS112TimeseriesGroupDNSSECParamsQueryType = "NULL"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeNxt AS112TimeseriesGroupDNSSECParamsQueryType = "NXT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeOpenpgpkey AS112TimeseriesGroupDNSSECParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeOpt AS112TimeseriesGroupDNSSECParamsQueryType = "OPT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypePTR AS112TimeseriesGroupDNSSECParamsQueryType = "PTR"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypePx AS112TimeseriesGroupDNSSECParamsQueryType = "PX"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeRkey AS112TimeseriesGroupDNSSECParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeRp AS112TimeseriesGroupDNSSECParamsQueryType = "RP"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeRrsig AS112TimeseriesGroupDNSSECParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeRt AS112TimeseriesGroupDNSSECParamsQueryType = "RT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSig AS112TimeseriesGroupDNSSECParamsQueryType = "SIG"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSink AS112TimeseriesGroupDNSSECParamsQueryType = "SINK"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSMIMEA AS112TimeseriesGroupDNSSECParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSOA AS112TimeseriesGroupDNSSECParamsQueryType = "SOA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSPF AS112TimeseriesGroupDNSSECParamsQueryType = "SPF"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSRV AS112TimeseriesGroupDNSSECParamsQueryType = "SRV"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSSHFP AS112TimeseriesGroupDNSSECParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeSVCB AS112TimeseriesGroupDNSSECParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTa AS112TimeseriesGroupDNSSECParamsQueryType = "TA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTalink AS112TimeseriesGroupDNSSECParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTkey AS112TimeseriesGroupDNSSECParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTLSA AS112TimeseriesGroupDNSSECParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTSIG AS112TimeseriesGroupDNSSECParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeTXT AS112TimeseriesGroupDNSSECParamsQueryType = "TXT"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeUinfo AS112TimeseriesGroupDNSSECParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeUID AS112TimeseriesGroupDNSSECParamsQueryType = "UID"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeUnspec AS112TimeseriesGroupDNSSECParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeURI AS112TimeseriesGroupDNSSECParamsQueryType = "URI"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeWks AS112TimeseriesGroupDNSSECParamsQueryType = "WKS"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeX25 AS112TimeseriesGroupDNSSECParamsQueryType = "X25"` - `const AS112TimeseriesGroupDNSSECParamsQueryTypeZonemd AS112TimeseriesGroupDNSSECParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesGroupDNSSECParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNoerror AS112TimeseriesGroupDNSSECParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeFormerr AS112TimeseriesGroupDNSSECParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeServfail AS112TimeseriesGroupDNSSECParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNxdomain AS112TimeseriesGroupDNSSECParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNotimp AS112TimeseriesGroupDNSSECParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeRefused AS112TimeseriesGroupDNSSECParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeYxdomain AS112TimeseriesGroupDNSSECParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeYxrrset AS112TimeseriesGroupDNSSECParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNxrrset AS112TimeseriesGroupDNSSECParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNotauth AS112TimeseriesGroupDNSSECParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeNotzone AS112TimeseriesGroupDNSSECParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadsig AS112TimeseriesGroupDNSSECParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadkey AS112TimeseriesGroupDNSSECParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadtime AS112TimeseriesGroupDNSSECParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadmode AS112TimeseriesGroupDNSSECParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadname AS112TimeseriesGroupDNSSECParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadalg AS112TimeseriesGroupDNSSECParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadtrunc AS112TimeseriesGroupDNSSECParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupDNSSECParamsResponseCodeBadcookie AS112TimeseriesGroupDNSSECParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupDNSSECResponse struct{…}` - `Meta AS112TimeseriesGroupDNSSECResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupDNSSECResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupDNSSECResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupDNSSECResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupDNSSECResponseMetaAggIntervalOneHour AS112TimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupDNSSECResponseMetaAggIntervalOneDay AS112TimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupDNSSECResponseMetaAggIntervalOneWeek AS112TimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupDNSSECResponseMetaAggIntervalOneMonth AS112TimeseriesGroupDNSSECResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupDNSSECResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupDNSSECResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationPercentage AS112TimeseriesGroupDNSSECResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationMin0Max AS112TimeseriesGroupDNSSECResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationMinMax AS112TimeseriesGroupDNSSECResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationRawValues AS112TimeseriesGroupDNSSECResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationPercentageChange AS112TimeseriesGroupDNSSECResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationRollingAverage AS112TimeseriesGroupDNSSECResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupDNSSECResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupDNSSECResponseMetaNormalizationRatio AS112TimeseriesGroupDNSSECResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupDNSSECResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupDNSSECResponseSerie0` - `NotSupported []string` - `Supported []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.DNSSEC(context.TODO(), radar.AS112TimeseriesGroupDNSSECParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by EDNS support summary `client.Radar.AS112.TimeseriesGroups.Edns(ctx, query) (*AS112TimeseriesGroupEdnsResponse, error)` **get** `/radar/as112/timeseries_groups/edns` Retrieves the distribution of AS112 DNS queries by EDNS (Extension Mechanisms for DNS) support over time. ### Parameters - `query AS112TimeseriesGroupEdnsParams` - `AggInterval param.Field[AS112TimeseriesGroupEdnsParamsAggInterval]` 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/). - `const AS112TimeseriesGroupEdnsParamsAggInterval15m AS112TimeseriesGroupEdnsParamsAggInterval = "15m"` - `const AS112TimeseriesGroupEdnsParamsAggInterval1h AS112TimeseriesGroupEdnsParamsAggInterval = "1h"` - `const AS112TimeseriesGroupEdnsParamsAggInterval1d AS112TimeseriesGroupEdnsParamsAggInterval = "1d"` - `const AS112TimeseriesGroupEdnsParamsAggInterval1w AS112TimeseriesGroupEdnsParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupEdnsParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupEdnsParamsFormatJson AS112TimeseriesGroupEdnsParamsFormat = "JSON"` - `const AS112TimeseriesGroupEdnsParamsFormatCsv AS112TimeseriesGroupEdnsParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupEdnsParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupEdnsParamsProtocolUdp AS112TimeseriesGroupEdnsParamsProtocol = "UDP"` - `const AS112TimeseriesGroupEdnsParamsProtocolTCP AS112TimeseriesGroupEdnsParamsProtocol = "TCP"` - `const AS112TimeseriesGroupEdnsParamsProtocolHTTPS AS112TimeseriesGroupEdnsParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupEdnsParamsProtocolTLS AS112TimeseriesGroupEdnsParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesGroupEdnsParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupEdnsParamsQueryTypeA AS112TimeseriesGroupEdnsParamsQueryType = "A"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeAAAA AS112TimeseriesGroupEdnsParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeA6 AS112TimeseriesGroupEdnsParamsQueryType = "A6"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeAfsdb AS112TimeseriesGroupEdnsParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeAny AS112TimeseriesGroupEdnsParamsQueryType = "ANY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeApl AS112TimeseriesGroupEdnsParamsQueryType = "APL"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeAtma AS112TimeseriesGroupEdnsParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeAXFR AS112TimeseriesGroupEdnsParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCAA AS112TimeseriesGroupEdnsParamsQueryType = "CAA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCdnskey AS112TimeseriesGroupEdnsParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCds AS112TimeseriesGroupEdnsParamsQueryType = "CDS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCERT AS112TimeseriesGroupEdnsParamsQueryType = "CERT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCNAME AS112TimeseriesGroupEdnsParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeCsync AS112TimeseriesGroupEdnsParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDhcid AS112TimeseriesGroupEdnsParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDlv AS112TimeseriesGroupEdnsParamsQueryType = "DLV"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDname AS112TimeseriesGroupEdnsParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDNSKEY AS112TimeseriesGroupEdnsParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDoa AS112TimeseriesGroupEdnsParamsQueryType = "DOA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeDS AS112TimeseriesGroupEdnsParamsQueryType = "DS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeEid AS112TimeseriesGroupEdnsParamsQueryType = "EID"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeEui48 AS112TimeseriesGroupEdnsParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeEui64 AS112TimeseriesGroupEdnsParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeGpos AS112TimeseriesGroupEdnsParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeGid AS112TimeseriesGroupEdnsParamsQueryType = "GID"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeHinfo AS112TimeseriesGroupEdnsParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeHip AS112TimeseriesGroupEdnsParamsQueryType = "HIP"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeHTTPS AS112TimeseriesGroupEdnsParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeIpseckey AS112TimeseriesGroupEdnsParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeIsdn AS112TimeseriesGroupEdnsParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeIxfr AS112TimeseriesGroupEdnsParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeKey AS112TimeseriesGroupEdnsParamsQueryType = "KEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeKx AS112TimeseriesGroupEdnsParamsQueryType = "KX"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeL32 AS112TimeseriesGroupEdnsParamsQueryType = "L32"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeL64 AS112TimeseriesGroupEdnsParamsQueryType = "L64"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeLOC AS112TimeseriesGroupEdnsParamsQueryType = "LOC"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeLp AS112TimeseriesGroupEdnsParamsQueryType = "LP"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMaila AS112TimeseriesGroupEdnsParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMailb AS112TimeseriesGroupEdnsParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMB AS112TimeseriesGroupEdnsParamsQueryType = "MB"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMd AS112TimeseriesGroupEdnsParamsQueryType = "MD"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMf AS112TimeseriesGroupEdnsParamsQueryType = "MF"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMg AS112TimeseriesGroupEdnsParamsQueryType = "MG"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMinfo AS112TimeseriesGroupEdnsParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMr AS112TimeseriesGroupEdnsParamsQueryType = "MR"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeMX AS112TimeseriesGroupEdnsParamsQueryType = "MX"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNAPTR AS112TimeseriesGroupEdnsParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNb AS112TimeseriesGroupEdnsParamsQueryType = "NB"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNbstat AS112TimeseriesGroupEdnsParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNid AS112TimeseriesGroupEdnsParamsQueryType = "NID"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNimloc AS112TimeseriesGroupEdnsParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNinfo AS112TimeseriesGroupEdnsParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNS AS112TimeseriesGroupEdnsParamsQueryType = "NS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNsap AS112TimeseriesGroupEdnsParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNsec AS112TimeseriesGroupEdnsParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNsec3 AS112TimeseriesGroupEdnsParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNsec3Param AS112TimeseriesGroupEdnsParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNull AS112TimeseriesGroupEdnsParamsQueryType = "NULL"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeNxt AS112TimeseriesGroupEdnsParamsQueryType = "NXT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeOpenpgpkey AS112TimeseriesGroupEdnsParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeOpt AS112TimeseriesGroupEdnsParamsQueryType = "OPT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypePTR AS112TimeseriesGroupEdnsParamsQueryType = "PTR"` - `const AS112TimeseriesGroupEdnsParamsQueryTypePx AS112TimeseriesGroupEdnsParamsQueryType = "PX"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeRkey AS112TimeseriesGroupEdnsParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeRp AS112TimeseriesGroupEdnsParamsQueryType = "RP"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeRrsig AS112TimeseriesGroupEdnsParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeRt AS112TimeseriesGroupEdnsParamsQueryType = "RT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSig AS112TimeseriesGroupEdnsParamsQueryType = "SIG"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSink AS112TimeseriesGroupEdnsParamsQueryType = "SINK"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSMIMEA AS112TimeseriesGroupEdnsParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSOA AS112TimeseriesGroupEdnsParamsQueryType = "SOA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSPF AS112TimeseriesGroupEdnsParamsQueryType = "SPF"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSRV AS112TimeseriesGroupEdnsParamsQueryType = "SRV"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSSHFP AS112TimeseriesGroupEdnsParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeSVCB AS112TimeseriesGroupEdnsParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTa AS112TimeseriesGroupEdnsParamsQueryType = "TA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTalink AS112TimeseriesGroupEdnsParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTkey AS112TimeseriesGroupEdnsParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTLSA AS112TimeseriesGroupEdnsParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTSIG AS112TimeseriesGroupEdnsParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeTXT AS112TimeseriesGroupEdnsParamsQueryType = "TXT"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeUinfo AS112TimeseriesGroupEdnsParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeUID AS112TimeseriesGroupEdnsParamsQueryType = "UID"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeUnspec AS112TimeseriesGroupEdnsParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeURI AS112TimeseriesGroupEdnsParamsQueryType = "URI"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeWks AS112TimeseriesGroupEdnsParamsQueryType = "WKS"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeX25 AS112TimeseriesGroupEdnsParamsQueryType = "X25"` - `const AS112TimeseriesGroupEdnsParamsQueryTypeZonemd AS112TimeseriesGroupEdnsParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesGroupEdnsParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupEdnsParamsResponseCodeNoerror AS112TimeseriesGroupEdnsParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeFormerr AS112TimeseriesGroupEdnsParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeServfail AS112TimeseriesGroupEdnsParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeNxdomain AS112TimeseriesGroupEdnsParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeNotimp AS112TimeseriesGroupEdnsParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeRefused AS112TimeseriesGroupEdnsParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeYxdomain AS112TimeseriesGroupEdnsParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeYxrrset AS112TimeseriesGroupEdnsParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeNxrrset AS112TimeseriesGroupEdnsParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeNotauth AS112TimeseriesGroupEdnsParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeNotzone AS112TimeseriesGroupEdnsParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadsig AS112TimeseriesGroupEdnsParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadkey AS112TimeseriesGroupEdnsParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadtime AS112TimeseriesGroupEdnsParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadmode AS112TimeseriesGroupEdnsParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadname AS112TimeseriesGroupEdnsParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadalg AS112TimeseriesGroupEdnsParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadtrunc AS112TimeseriesGroupEdnsParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupEdnsParamsResponseCodeBadcookie AS112TimeseriesGroupEdnsParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupEdnsResponse struct{…}` - `Meta AS112TimeseriesGroupEdnsResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupEdnsResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupEdnsResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupEdnsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupEdnsResponseMetaAggIntervalOneHour AS112TimeseriesGroupEdnsResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupEdnsResponseMetaAggIntervalOneDay AS112TimeseriesGroupEdnsResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupEdnsResponseMetaAggIntervalOneWeek AS112TimeseriesGroupEdnsResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupEdnsResponseMetaAggIntervalOneMonth AS112TimeseriesGroupEdnsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupEdnsResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupEdnsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupEdnsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupEdnsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationPercentage AS112TimeseriesGroupEdnsResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationMin0Max AS112TimeseriesGroupEdnsResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationMinMax AS112TimeseriesGroupEdnsResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationRawValues AS112TimeseriesGroupEdnsResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationPercentageChange AS112TimeseriesGroupEdnsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationRollingAverage AS112TimeseriesGroupEdnsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupEdnsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupEdnsResponseMetaNormalizationRatio AS112TimeseriesGroupEdnsResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupEdnsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupEdnsResponseSerie0` - `NotSupported []string` - `Supported []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.Edns(context.TODO(), radar.AS112TimeseriesGroupEdnsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 AS112 DNS queries by IP version time series `client.Radar.AS112.TimeseriesGroups.IPVersion(ctx, query) (*AS112TimeseriesGroupIPVersionResponse, error)` **get** `/radar/as112/timeseries_groups/ip_version` Retrieves the distribution of AS112 DNS queries by IP version over time. ### Parameters - `query AS112TimeseriesGroupIPVersionParams` - `AggInterval param.Field[AS112TimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const AS112TimeseriesGroupIPVersionParamsAggInterval15m AS112TimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const AS112TimeseriesGroupIPVersionParamsAggInterval1h AS112TimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const AS112TimeseriesGroupIPVersionParamsAggInterval1d AS112TimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const AS112TimeseriesGroupIPVersionParamsAggInterval1w AS112TimeseriesGroupIPVersionParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const AS112TimeseriesGroupIPVersionParamsFormatJson AS112TimeseriesGroupIPVersionParamsFormat = "JSON"` - `const AS112TimeseriesGroupIPVersionParamsFormatCsv AS112TimeseriesGroupIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AS112TimeseriesGroupIPVersionParamsProtocol]` Filters results by DNS transport protocol. - `const AS112TimeseriesGroupIPVersionParamsProtocolUdp AS112TimeseriesGroupIPVersionParamsProtocol = "UDP"` - `const AS112TimeseriesGroupIPVersionParamsProtocolTCP AS112TimeseriesGroupIPVersionParamsProtocol = "TCP"` - `const AS112TimeseriesGroupIPVersionParamsProtocolHTTPS AS112TimeseriesGroupIPVersionParamsProtocol = "HTTPS"` - `const AS112TimeseriesGroupIPVersionParamsProtocolTLS AS112TimeseriesGroupIPVersionParamsProtocol = "TLS"` - `QueryType param.Field[[]AS112TimeseriesGroupIPVersionParamsQueryType]` Filters results by DNS query type. - `const AS112TimeseriesGroupIPVersionParamsQueryTypeA AS112TimeseriesGroupIPVersionParamsQueryType = "A"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeAAAA AS112TimeseriesGroupIPVersionParamsQueryType = "AAAA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeA6 AS112TimeseriesGroupIPVersionParamsQueryType = "A6"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeAfsdb AS112TimeseriesGroupIPVersionParamsQueryType = "AFSDB"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeAny AS112TimeseriesGroupIPVersionParamsQueryType = "ANY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeApl AS112TimeseriesGroupIPVersionParamsQueryType = "APL"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeAtma AS112TimeseriesGroupIPVersionParamsQueryType = "ATMA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeAXFR AS112TimeseriesGroupIPVersionParamsQueryType = "AXFR"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCAA AS112TimeseriesGroupIPVersionParamsQueryType = "CAA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCdnskey AS112TimeseriesGroupIPVersionParamsQueryType = "CDNSKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCds AS112TimeseriesGroupIPVersionParamsQueryType = "CDS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCERT AS112TimeseriesGroupIPVersionParamsQueryType = "CERT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCNAME AS112TimeseriesGroupIPVersionParamsQueryType = "CNAME"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeCsync AS112TimeseriesGroupIPVersionParamsQueryType = "CSYNC"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDhcid AS112TimeseriesGroupIPVersionParamsQueryType = "DHCID"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDlv AS112TimeseriesGroupIPVersionParamsQueryType = "DLV"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDname AS112TimeseriesGroupIPVersionParamsQueryType = "DNAME"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDNSKEY AS112TimeseriesGroupIPVersionParamsQueryType = "DNSKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDoa AS112TimeseriesGroupIPVersionParamsQueryType = "DOA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeDS AS112TimeseriesGroupIPVersionParamsQueryType = "DS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeEid AS112TimeseriesGroupIPVersionParamsQueryType = "EID"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeEui48 AS112TimeseriesGroupIPVersionParamsQueryType = "EUI48"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeEui64 AS112TimeseriesGroupIPVersionParamsQueryType = "EUI64"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeGpos AS112TimeseriesGroupIPVersionParamsQueryType = "GPOS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeGid AS112TimeseriesGroupIPVersionParamsQueryType = "GID"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeHinfo AS112TimeseriesGroupIPVersionParamsQueryType = "HINFO"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeHip AS112TimeseriesGroupIPVersionParamsQueryType = "HIP"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeHTTPS AS112TimeseriesGroupIPVersionParamsQueryType = "HTTPS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeIpseckey AS112TimeseriesGroupIPVersionParamsQueryType = "IPSECKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeIsdn AS112TimeseriesGroupIPVersionParamsQueryType = "ISDN"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeIxfr AS112TimeseriesGroupIPVersionParamsQueryType = "IXFR"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeKey AS112TimeseriesGroupIPVersionParamsQueryType = "KEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeKx AS112TimeseriesGroupIPVersionParamsQueryType = "KX"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeL32 AS112TimeseriesGroupIPVersionParamsQueryType = "L32"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeL64 AS112TimeseriesGroupIPVersionParamsQueryType = "L64"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeLOC AS112TimeseriesGroupIPVersionParamsQueryType = "LOC"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeLp AS112TimeseriesGroupIPVersionParamsQueryType = "LP"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMaila AS112TimeseriesGroupIPVersionParamsQueryType = "MAILA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMailb AS112TimeseriesGroupIPVersionParamsQueryType = "MAILB"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMB AS112TimeseriesGroupIPVersionParamsQueryType = "MB"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMd AS112TimeseriesGroupIPVersionParamsQueryType = "MD"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMf AS112TimeseriesGroupIPVersionParamsQueryType = "MF"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMg AS112TimeseriesGroupIPVersionParamsQueryType = "MG"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMinfo AS112TimeseriesGroupIPVersionParamsQueryType = "MINFO"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMr AS112TimeseriesGroupIPVersionParamsQueryType = "MR"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeMX AS112TimeseriesGroupIPVersionParamsQueryType = "MX"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNAPTR AS112TimeseriesGroupIPVersionParamsQueryType = "NAPTR"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNb AS112TimeseriesGroupIPVersionParamsQueryType = "NB"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNbstat AS112TimeseriesGroupIPVersionParamsQueryType = "NBSTAT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNid AS112TimeseriesGroupIPVersionParamsQueryType = "NID"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNimloc AS112TimeseriesGroupIPVersionParamsQueryType = "NIMLOC"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNinfo AS112TimeseriesGroupIPVersionParamsQueryType = "NINFO"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNS AS112TimeseriesGroupIPVersionParamsQueryType = "NS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNsap AS112TimeseriesGroupIPVersionParamsQueryType = "NSAP"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNsec AS112TimeseriesGroupIPVersionParamsQueryType = "NSEC"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNsec3 AS112TimeseriesGroupIPVersionParamsQueryType = "NSEC3"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNsec3Param AS112TimeseriesGroupIPVersionParamsQueryType = "NSEC3PARAM"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNull AS112TimeseriesGroupIPVersionParamsQueryType = "NULL"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeNxt AS112TimeseriesGroupIPVersionParamsQueryType = "NXT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeOpenpgpkey AS112TimeseriesGroupIPVersionParamsQueryType = "OPENPGPKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeOpt AS112TimeseriesGroupIPVersionParamsQueryType = "OPT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypePTR AS112TimeseriesGroupIPVersionParamsQueryType = "PTR"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypePx AS112TimeseriesGroupIPVersionParamsQueryType = "PX"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeRkey AS112TimeseriesGroupIPVersionParamsQueryType = "RKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeRp AS112TimeseriesGroupIPVersionParamsQueryType = "RP"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeRrsig AS112TimeseriesGroupIPVersionParamsQueryType = "RRSIG"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeRt AS112TimeseriesGroupIPVersionParamsQueryType = "RT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSig AS112TimeseriesGroupIPVersionParamsQueryType = "SIG"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSink AS112TimeseriesGroupIPVersionParamsQueryType = "SINK"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSMIMEA AS112TimeseriesGroupIPVersionParamsQueryType = "SMIMEA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSOA AS112TimeseriesGroupIPVersionParamsQueryType = "SOA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSPF AS112TimeseriesGroupIPVersionParamsQueryType = "SPF"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSRV AS112TimeseriesGroupIPVersionParamsQueryType = "SRV"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSSHFP AS112TimeseriesGroupIPVersionParamsQueryType = "SSHFP"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeSVCB AS112TimeseriesGroupIPVersionParamsQueryType = "SVCB"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTa AS112TimeseriesGroupIPVersionParamsQueryType = "TA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTalink AS112TimeseriesGroupIPVersionParamsQueryType = "TALINK"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTkey AS112TimeseriesGroupIPVersionParamsQueryType = "TKEY"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTLSA AS112TimeseriesGroupIPVersionParamsQueryType = "TLSA"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTSIG AS112TimeseriesGroupIPVersionParamsQueryType = "TSIG"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeTXT AS112TimeseriesGroupIPVersionParamsQueryType = "TXT"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeUinfo AS112TimeseriesGroupIPVersionParamsQueryType = "UINFO"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeUID AS112TimeseriesGroupIPVersionParamsQueryType = "UID"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeUnspec AS112TimeseriesGroupIPVersionParamsQueryType = "UNSPEC"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeURI AS112TimeseriesGroupIPVersionParamsQueryType = "URI"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeWks AS112TimeseriesGroupIPVersionParamsQueryType = "WKS"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeX25 AS112TimeseriesGroupIPVersionParamsQueryType = "X25"` - `const AS112TimeseriesGroupIPVersionParamsQueryTypeZonemd AS112TimeseriesGroupIPVersionParamsQueryType = "ZONEMD"` - `ResponseCode param.Field[[]AS112TimeseriesGroupIPVersionParamsResponseCode]` Filters results by DNS response code. - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNoerror AS112TimeseriesGroupIPVersionParamsResponseCode = "NOERROR"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeFormerr AS112TimeseriesGroupIPVersionParamsResponseCode = "FORMERR"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeServfail AS112TimeseriesGroupIPVersionParamsResponseCode = "SERVFAIL"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNxdomain AS112TimeseriesGroupIPVersionParamsResponseCode = "NXDOMAIN"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNotimp AS112TimeseriesGroupIPVersionParamsResponseCode = "NOTIMP"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeRefused AS112TimeseriesGroupIPVersionParamsResponseCode = "REFUSED"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeYxdomain AS112TimeseriesGroupIPVersionParamsResponseCode = "YXDOMAIN"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeYxrrset AS112TimeseriesGroupIPVersionParamsResponseCode = "YXRRSET"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNxrrset AS112TimeseriesGroupIPVersionParamsResponseCode = "NXRRSET"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNotauth AS112TimeseriesGroupIPVersionParamsResponseCode = "NOTAUTH"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeNotzone AS112TimeseriesGroupIPVersionParamsResponseCode = "NOTZONE"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadsig AS112TimeseriesGroupIPVersionParamsResponseCode = "BADSIG"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadkey AS112TimeseriesGroupIPVersionParamsResponseCode = "BADKEY"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadtime AS112TimeseriesGroupIPVersionParamsResponseCode = "BADTIME"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadmode AS112TimeseriesGroupIPVersionParamsResponseCode = "BADMODE"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadname AS112TimeseriesGroupIPVersionParamsResponseCode = "BADNAME"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadalg AS112TimeseriesGroupIPVersionParamsResponseCode = "BADALG"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadtrunc AS112TimeseriesGroupIPVersionParamsResponseCode = "BADTRUNC"` - `const AS112TimeseriesGroupIPVersionParamsResponseCodeBadcookie AS112TimeseriesGroupIPVersionParamsResponseCode = "BADCOOKIE"` ### Returns - `type AS112TimeseriesGroupIPVersionResponse struct{…}` - `Meta AS112TimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval AS112TimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const AS112TimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes AS112TimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AS112TimeseriesGroupIPVersionResponseMetaAggIntervalOneHour AS112TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const AS112TimeseriesGroupIPVersionResponseMetaAggIntervalOneDay AS112TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const AS112TimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek AS112TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const AS112TimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth AS112TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationPercentage AS112TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationMin0Max AS112TimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationMinMax AS112TimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationRawValues AS112TimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange AS112TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage AS112TimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage AS112TimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TimeseriesGroupIPVersionResponseMetaNormalizationRatio AS112TimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []AS112TimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AS112TimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.TimeseriesGroups.IPVersion(context.TODO(), radar.AS112TimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Top ## Get top locations by AS112 DNS queries `client.Radar.AS112.Top.Locations(ctx, query) (*AS112TopLocationsResponse, error)` **get** `/radar/as112/top/locations` Retrieves the top locations by AS112 DNS queries. ### Parameters - `query AS112TopLocationsParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TopLocationsParamsFormat]` Format in which results will be returned. - `const AS112TopLocationsParamsFormatJson AS112TopLocationsParamsFormat = "JSON"` - `const AS112TopLocationsParamsFormatCsv AS112TopLocationsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AS112TopLocationsResponse struct{…}` - `Meta AS112TopLocationsResponseMeta` Metadata for the results. - `ConfidenceInfo AS112TopLocationsResponseMetaConfidenceInfo` - `Annotations []AS112TopLocationsResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TopLocationsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TopLocationsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TopLocationsResponseMetaNormalizationPercentage AS112TopLocationsResponseMetaNormalization = "PERCENTAGE"` - `const AS112TopLocationsResponseMetaNormalizationMin0Max AS112TopLocationsResponseMetaNormalization = "MIN0_MAX"` - `const AS112TopLocationsResponseMetaNormalizationMinMax AS112TopLocationsResponseMetaNormalization = "MIN_MAX"` - `const AS112TopLocationsResponseMetaNormalizationRawValues AS112TopLocationsResponseMetaNormalization = "RAW_VALUES"` - `const AS112TopLocationsResponseMetaNormalizationPercentageChange AS112TopLocationsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TopLocationsResponseMetaNormalizationRollingAverage AS112TopLocationsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TopLocationsResponseMetaNormalizationOverlappedPercentage AS112TopLocationsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TopLocationsResponseMetaNormalizationRatio AS112TopLocationsResponseMetaNormalization = "RATIO"` - `Units []AS112TopLocationsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AS112TopLocationsResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Top.Locations(context.TODO(), radar.AS112TopLocationsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` ## Get top locations by AS112 DNS queries with DNSSEC support `client.Radar.AS112.Top.DNSSEC(ctx, dnssec, query) (*AS112TopDNSSECResponse, error)` **get** `/radar/as112/top/locations/dnssec/{dnssec}` Retrieves the top locations of DNS queries to AS112 with DNSSEC (DNS Security Extensions) support. ### Parameters - `dnssec AS112TopDNSSECParamsDNSSEC` DNSSEC (DNS Security Extensions) status. - `const AS112TopDNSSECParamsDNSSECSupported AS112TopDNSSECParamsDNSSEC = "SUPPORTED"` - `const AS112TopDNSSECParamsDNSSECNotSupported AS112TopDNSSECParamsDNSSEC = "NOT_SUPPORTED"` - `query AS112TopDNSSECParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TopDNSSECParamsFormat]` Format in which results will be returned. - `const AS112TopDNSSECParamsFormatJson AS112TopDNSSECParamsFormat = "JSON"` - `const AS112TopDNSSECParamsFormatCsv AS112TopDNSSECParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AS112TopDNSSECResponse struct{…}` - `Meta AS112TopDNSSECResponseMeta` Metadata for the results. - `ConfidenceInfo AS112TopDNSSECResponseMetaConfidenceInfo` - `Annotations []AS112TopDNSSECResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TopDNSSECResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TopDNSSECResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TopDNSSECResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TopDNSSECResponseMetaNormalizationPercentage AS112TopDNSSECResponseMetaNormalization = "PERCENTAGE"` - `const AS112TopDNSSECResponseMetaNormalizationMin0Max AS112TopDNSSECResponseMetaNormalization = "MIN0_MAX"` - `const AS112TopDNSSECResponseMetaNormalizationMinMax AS112TopDNSSECResponseMetaNormalization = "MIN_MAX"` - `const AS112TopDNSSECResponseMetaNormalizationRawValues AS112TopDNSSECResponseMetaNormalization = "RAW_VALUES"` - `const AS112TopDNSSECResponseMetaNormalizationPercentageChange AS112TopDNSSECResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TopDNSSECResponseMetaNormalizationRollingAverage AS112TopDNSSECResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TopDNSSECResponseMetaNormalizationOverlappedPercentage AS112TopDNSSECResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TopDNSSECResponseMetaNormalizationRatio AS112TopDNSSECResponseMetaNormalization = "RATIO"` - `Units []AS112TopDNSSECResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AS112TopDNSSECResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Top.DNSSEC( context.TODO(), radar.AS112TopDNSSECParamsDNSSECSupported, radar.AS112TopDNSSECParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` ## Get top locations by AS112 DNS queries with EDNS support `client.Radar.AS112.Top.Edns(ctx, edns, query) (*AS112TopEdnsResponse, error)` **get** `/radar/as112/top/locations/edns/{edns}` Retrieves the top locations of DNS queries to AS112 with EDNS (Extension Mechanisms for DNS) support. ### Parameters - `edns AS112TopEdnsParamsEdns` EDNS (Extension Mechanisms for DNS) status. - `const AS112TopEdnsParamsEdnsSupported AS112TopEdnsParamsEdns = "SUPPORTED"` - `const AS112TopEdnsParamsEdnsNotSupported AS112TopEdnsParamsEdns = "NOT_SUPPORTED"` - `query AS112TopEdnsParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TopEdnsParamsFormat]` Format in which results will be returned. - `const AS112TopEdnsParamsFormatJson AS112TopEdnsParamsFormat = "JSON"` - `const AS112TopEdnsParamsFormatCsv AS112TopEdnsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AS112TopEdnsResponse struct{…}` - `Meta AS112TopEdnsResponseMeta` Metadata for the results. - `ConfidenceInfo AS112TopEdnsResponseMetaConfidenceInfo` - `Annotations []AS112TopEdnsResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TopEdnsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TopEdnsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TopEdnsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TopEdnsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TopEdnsResponseMetaNormalizationPercentage AS112TopEdnsResponseMetaNormalization = "PERCENTAGE"` - `const AS112TopEdnsResponseMetaNormalizationMin0Max AS112TopEdnsResponseMetaNormalization = "MIN0_MAX"` - `const AS112TopEdnsResponseMetaNormalizationMinMax AS112TopEdnsResponseMetaNormalization = "MIN_MAX"` - `const AS112TopEdnsResponseMetaNormalizationRawValues AS112TopEdnsResponseMetaNormalization = "RAW_VALUES"` - `const AS112TopEdnsResponseMetaNormalizationPercentageChange AS112TopEdnsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TopEdnsResponseMetaNormalizationRollingAverage AS112TopEdnsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TopEdnsResponseMetaNormalizationOverlappedPercentage AS112TopEdnsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TopEdnsResponseMetaNormalizationRatio AS112TopEdnsResponseMetaNormalization = "RATIO"` - `Units []AS112TopEdnsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AS112TopEdnsResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Top.Edns( context.TODO(), radar.AS112TopEdnsParamsEdnsSupported, radar.AS112TopEdnsParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` ## Get top locations by AS112 DNS queries for an IP version `client.Radar.AS112.Top.IPVersion(ctx, ipVersion, query) (*AS112TopIPVersionResponse, error)` **get** `/radar/as112/top/locations/ip_version/{ip_version}` Retrieves the top locations of DNS queries to AS112 for an IP version. ### Parameters - `ipVersion AS112TopIPVersionParamsIPVersion` IP version. - `const AS112TopIPVersionParamsIPVersionIPv4 AS112TopIPVersionParamsIPVersion = "IPv4"` - `const AS112TopIPVersionParamsIPVersionIPv6 AS112TopIPVersionParamsIPVersion = "IPv6"` - `query AS112TopIPVersionParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AS112TopIPVersionParamsFormat]` Format in which results will be returned. - `const AS112TopIPVersionParamsFormatJson AS112TopIPVersionParamsFormat = "JSON"` - `const AS112TopIPVersionParamsFormatCsv AS112TopIPVersionParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AS112TopIPVersionResponse struct{…}` - `Meta AS112TopIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo AS112TopIPVersionResponseMetaConfidenceInfo` - `Annotations []AS112TopIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AS112TopIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AS112TopIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AS112TopIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AS112TopIPVersionResponseMetaNormalizationPercentage AS112TopIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AS112TopIPVersionResponseMetaNormalizationMin0Max AS112TopIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AS112TopIPVersionResponseMetaNormalizationMinMax AS112TopIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AS112TopIPVersionResponseMetaNormalizationRawValues AS112TopIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AS112TopIPVersionResponseMetaNormalizationPercentageChange AS112TopIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AS112TopIPVersionResponseMetaNormalizationRollingAverage AS112TopIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AS112TopIPVersionResponseMetaNormalizationOverlappedPercentage AS112TopIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AS112TopIPVersionResponseMetaNormalizationRatio AS112TopIPVersionResponseMetaNormalization = "RATIO"` - `Units []AS112TopIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AS112TopIPVersionResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.AS112.Top.IPVersion( context.TODO(), radar.AS112TopIPVersionParamsIPVersionIPv4, radar.AS112TopIPVersionParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Email ## Domain Types ### Radar Email Series - `type RadarEmailSeries struct{…}` - `Fail []string` - `None []string` - `Pass []string` ### Radar Email Summary - `type RadarEmailSummary struct{…}` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. # Routing ## Get email routing summary by dimension `client.Radar.Email.Routing.SummaryV2(ctx, dimension, query) (*EmailRoutingSummaryV2Response, error)` **get** `/radar/email/routing/summary/{dimension}` Retrieves the distribution of email routing metrics by the specified dimension. ### Parameters - `dimension EmailRoutingSummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const EmailRoutingSummaryV2ParamsDimensionIPVersion EmailRoutingSummaryV2ParamsDimension = "IP_VERSION"` - `const EmailRoutingSummaryV2ParamsDimensionEncrypted EmailRoutingSummaryV2ParamsDimension = "ENCRYPTED"` - `const EmailRoutingSummaryV2ParamsDimensionARC EmailRoutingSummaryV2ParamsDimension = "ARC"` - `const EmailRoutingSummaryV2ParamsDimensionDKIM EmailRoutingSummaryV2ParamsDimension = "DKIM"` - `const EmailRoutingSummaryV2ParamsDimensionDMARC EmailRoutingSummaryV2ParamsDimension = "DMARC"` - `const EmailRoutingSummaryV2ParamsDimensionSPF EmailRoutingSummaryV2ParamsDimension = "SPF"` - `query EmailRoutingSummaryV2Params` - `ARC param.Field[[]EmailRoutingSummaryV2ParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummaryV2ParamsARCPass EmailRoutingSummaryV2ParamsARC = "PASS"` - `const EmailRoutingSummaryV2ParamsARCNone EmailRoutingSummaryV2ParamsARC = "NONE"` - `const EmailRoutingSummaryV2ParamsARCFail EmailRoutingSummaryV2ParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummaryV2ParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummaryV2ParamsDKIMPass EmailRoutingSummaryV2ParamsDKIM = "PASS"` - `const EmailRoutingSummaryV2ParamsDKIMNone EmailRoutingSummaryV2ParamsDKIM = "NONE"` - `const EmailRoutingSummaryV2ParamsDKIMFail EmailRoutingSummaryV2ParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingSummaryV2ParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummaryV2ParamsDMARCPass EmailRoutingSummaryV2ParamsDMARC = "PASS"` - `const EmailRoutingSummaryV2ParamsDMARCNone EmailRoutingSummaryV2ParamsDMARC = "NONE"` - `const EmailRoutingSummaryV2ParamsDMARCFail EmailRoutingSummaryV2ParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummaryV2ParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummaryV2ParamsEncryptedEncrypted EmailRoutingSummaryV2ParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummaryV2ParamsEncryptedNotEncrypted EmailRoutingSummaryV2ParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummaryV2ParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryV2ParamsFormatJson EmailRoutingSummaryV2ParamsFormat = "JSON"` - `const EmailRoutingSummaryV2ParamsFormatCsv EmailRoutingSummaryV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummaryV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummaryV2ParamsIPVersionIPv4 EmailRoutingSummaryV2ParamsIPVersion = "IPv4"` - `const EmailRoutingSummaryV2ParamsIPVersionIPv6 EmailRoutingSummaryV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryV2ParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryV2ParamsSPFPass EmailRoutingSummaryV2ParamsSPF = "PASS"` - `const EmailRoutingSummaryV2ParamsSPFNone EmailRoutingSummaryV2ParamsSPF = "NONE"` - `const EmailRoutingSummaryV2ParamsSPFFail EmailRoutingSummaryV2ParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryV2Response struct{…}` - `Meta EmailRoutingSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryV2ResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryV2ResponseMetaNormalizationPercentage EmailRoutingSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationMin0Max EmailRoutingSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationMinMax EmailRoutingSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationRawValues EmailRoutingSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationPercentageChange EmailRoutingSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationRollingAverage EmailRoutingSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryV2ResponseMetaNormalizationRatio EmailRoutingSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.SummaryV2( context.TODO(), radar.EmailRoutingSummaryV2ParamsDimensionIPVersion, radar.EmailRoutingSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "25.084366", "PASS": "50.168733" } }, "success": true } ``` ## Get email routing time series grouped by dimension `client.Radar.Email.Routing.TimeseriesGroupsV2(ctx, dimension, query) (*EmailRoutingTimeseriesGroupsV2Response, error)` **get** `/radar/email/routing/timeseries_groups/{dimension}` Retrieves the distribution of email routing metrics grouped by dimension over time. ### Parameters - `dimension EmailRoutingTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionIPVersion EmailRoutingTimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionEncrypted EmailRoutingTimeseriesGroupsV2ParamsDimension = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionARC EmailRoutingTimeseriesGroupsV2ParamsDimension = "ARC"` - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionDKIM EmailRoutingTimeseriesGroupsV2ParamsDimension = "DKIM"` - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionDMARC EmailRoutingTimeseriesGroupsV2ParamsDimension = "DMARC"` - `const EmailRoutingTimeseriesGroupsV2ParamsDimensionSPF EmailRoutingTimeseriesGroupsV2ParamsDimension = "SPF"` - `query EmailRoutingTimeseriesGroupsV2Params` - `AggInterval param.Field[EmailRoutingTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupsV2ParamsAggInterval15m EmailRoutingTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupsV2ParamsAggInterval1h EmailRoutingTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupsV2ParamsAggInterval1d EmailRoutingTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupsV2ParamsAggInterval1w EmailRoutingTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupsV2ParamsARCPass EmailRoutingTimeseriesGroupsV2ParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupsV2ParamsARCNone EmailRoutingTimeseriesGroupsV2ParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupsV2ParamsARCFail EmailRoutingTimeseriesGroupsV2ParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupsV2ParamsDKIMPass EmailRoutingTimeseriesGroupsV2ParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupsV2ParamsDKIMNone EmailRoutingTimeseriesGroupsV2ParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupsV2ParamsDKIMFail EmailRoutingTimeseriesGroupsV2ParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupsV2ParamsDMARCPass EmailRoutingTimeseriesGroupsV2ParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupsV2ParamsDMARCNone EmailRoutingTimeseriesGroupsV2ParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupsV2ParamsDMARCFail EmailRoutingTimeseriesGroupsV2ParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupsV2ParamsEncryptedEncrypted EmailRoutingTimeseriesGroupsV2ParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupsV2ParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupsV2ParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupsV2ParamsFormatJson EmailRoutingTimeseriesGroupsV2ParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupsV2ParamsFormatCsv EmailRoutingTimeseriesGroupsV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupsV2ParamsIPVersionIPv4 EmailRoutingTimeseriesGroupsV2ParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupsV2ParamsIPVersionIPv6 EmailRoutingTimeseriesGroupsV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupsV2ParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupsV2ParamsSPFPass EmailRoutingTimeseriesGroupsV2ParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupsV2ParamsSPFNone EmailRoutingTimeseriesGroupsV2ParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupsV2ParamsSPFFail EmailRoutingTimeseriesGroupsV2ParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupsV2Response struct{…}` - `Meta EmailRoutingTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailRoutingTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroupsV2( context.TODO(), radar.EmailRoutingTimeseriesGroupsV2ParamsDimensionIPVersion, radar.EmailRoutingTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get email ARC validation summary `client.Radar.Email.Routing.Summary.ARC(ctx, query) (*EmailRoutingSummaryARCResponse, error)` **get** `/radar/email/routing/summary/arc` Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation. ### Parameters - `query EmailRoutingSummaryARCParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummaryARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummaryARCParamsDKIMPass EmailRoutingSummaryARCParamsDKIM = "PASS"` - `const EmailRoutingSummaryARCParamsDKIMNone EmailRoutingSummaryARCParamsDKIM = "NONE"` - `const EmailRoutingSummaryARCParamsDKIMFail EmailRoutingSummaryARCParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingSummaryARCParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummaryARCParamsDMARCPass EmailRoutingSummaryARCParamsDMARC = "PASS"` - `const EmailRoutingSummaryARCParamsDMARCNone EmailRoutingSummaryARCParamsDMARC = "NONE"` - `const EmailRoutingSummaryARCParamsDMARCFail EmailRoutingSummaryARCParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummaryARCParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummaryARCParamsEncryptedEncrypted EmailRoutingSummaryARCParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummaryARCParamsEncryptedNotEncrypted EmailRoutingSummaryARCParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummaryARCParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryARCParamsFormatJson EmailRoutingSummaryARCParamsFormat = "JSON"` - `const EmailRoutingSummaryARCParamsFormatCsv EmailRoutingSummaryARCParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummaryARCParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummaryARCParamsIPVersionIPv4 EmailRoutingSummaryARCParamsIPVersion = "IPv4"` - `const EmailRoutingSummaryARCParamsIPVersionIPv6 EmailRoutingSummaryARCParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryARCParamsSPFPass EmailRoutingSummaryARCParamsSPF = "PASS"` - `const EmailRoutingSummaryARCParamsSPFNone EmailRoutingSummaryARCParamsSPF = "NONE"` - `const EmailRoutingSummaryARCParamsSPFFail EmailRoutingSummaryARCParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryARCResponse struct{…}` - `Meta EmailRoutingSummaryARCResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryARCResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryARCResponseMetaNormalizationPercentage EmailRoutingSummaryARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryARCResponseMetaNormalizationMin0Max EmailRoutingSummaryARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryARCResponseMetaNormalizationMinMax EmailRoutingSummaryARCResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryARCResponseMetaNormalizationRawValues EmailRoutingSummaryARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryARCResponseMetaNormalizationPercentageChange EmailRoutingSummaryARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryARCResponseMetaNormalizationRollingAverage EmailRoutingSummaryARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryARCResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryARCResponseMetaNormalizationRatio EmailRoutingSummaryARCResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.ARC(context.TODO(), radar.EmailRoutingSummaryARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email DKIM validation summary `client.Radar.Email.Routing.Summary.DKIM(ctx, query) (*EmailRoutingSummaryDKIMResponse, error)` **get** `/radar/email/routing/summary/dkim` Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation. ### Parameters - `query EmailRoutingSummaryDKIMParams` - `ARC param.Field[[]EmailRoutingSummaryDKIMParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummaryDKIMParamsARCPass EmailRoutingSummaryDKIMParamsARC = "PASS"` - `const EmailRoutingSummaryDKIMParamsARCNone EmailRoutingSummaryDKIMParamsARC = "NONE"` - `const EmailRoutingSummaryDKIMParamsARCFail EmailRoutingSummaryDKIMParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DMARC param.Field[[]EmailRoutingSummaryDKIMParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummaryDKIMParamsDMARCPass EmailRoutingSummaryDKIMParamsDMARC = "PASS"` - `const EmailRoutingSummaryDKIMParamsDMARCNone EmailRoutingSummaryDKIMParamsDMARC = "NONE"` - `const EmailRoutingSummaryDKIMParamsDMARCFail EmailRoutingSummaryDKIMParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummaryDKIMParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummaryDKIMParamsEncryptedEncrypted EmailRoutingSummaryDKIMParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummaryDKIMParamsEncryptedNotEncrypted EmailRoutingSummaryDKIMParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummaryDKIMParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryDKIMParamsFormatJson EmailRoutingSummaryDKIMParamsFormat = "JSON"` - `const EmailRoutingSummaryDKIMParamsFormatCsv EmailRoutingSummaryDKIMParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummaryDKIMParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummaryDKIMParamsIPVersionIPv4 EmailRoutingSummaryDKIMParamsIPVersion = "IPv4"` - `const EmailRoutingSummaryDKIMParamsIPVersionIPv6 EmailRoutingSummaryDKIMParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryDKIMParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryDKIMParamsSPFPass EmailRoutingSummaryDKIMParamsSPF = "PASS"` - `const EmailRoutingSummaryDKIMParamsSPFNone EmailRoutingSummaryDKIMParamsSPF = "NONE"` - `const EmailRoutingSummaryDKIMParamsSPFFail EmailRoutingSummaryDKIMParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryDKIMResponse struct{…}` - `Meta EmailRoutingSummaryDKIMResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryDKIMResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryDKIMResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryDKIMResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryDKIMResponseMetaNormalizationPercentage EmailRoutingSummaryDKIMResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationMin0Max EmailRoutingSummaryDKIMResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationMinMax EmailRoutingSummaryDKIMResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationRawValues EmailRoutingSummaryDKIMResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationPercentageChange EmailRoutingSummaryDKIMResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationRollingAverage EmailRoutingSummaryDKIMResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryDKIMResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryDKIMResponseMetaNormalizationRatio EmailRoutingSummaryDKIMResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryDKIMResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.DKIM(context.TODO(), radar.EmailRoutingSummaryDKIMParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email DMARC validation summary `client.Radar.Email.Routing.Summary.DMARC(ctx, query) (*EmailRoutingSummaryDMARCResponse, error)` **get** `/radar/email/routing/summary/dmarc` Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation. ### Parameters - `query EmailRoutingSummaryDMARCParams` - `ARC param.Field[[]EmailRoutingSummaryDMARCParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummaryDMARCParamsARCPass EmailRoutingSummaryDMARCParamsARC = "PASS"` - `const EmailRoutingSummaryDMARCParamsARCNone EmailRoutingSummaryDMARCParamsARC = "NONE"` - `const EmailRoutingSummaryDMARCParamsARCFail EmailRoutingSummaryDMARCParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummaryDMARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummaryDMARCParamsDKIMPass EmailRoutingSummaryDMARCParamsDKIM = "PASS"` - `const EmailRoutingSummaryDMARCParamsDKIMNone EmailRoutingSummaryDMARCParamsDKIM = "NONE"` - `const EmailRoutingSummaryDMARCParamsDKIMFail EmailRoutingSummaryDMARCParamsDKIM = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummaryDMARCParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummaryDMARCParamsEncryptedEncrypted EmailRoutingSummaryDMARCParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummaryDMARCParamsEncryptedNotEncrypted EmailRoutingSummaryDMARCParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummaryDMARCParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryDMARCParamsFormatJson EmailRoutingSummaryDMARCParamsFormat = "JSON"` - `const EmailRoutingSummaryDMARCParamsFormatCsv EmailRoutingSummaryDMARCParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummaryDMARCParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummaryDMARCParamsIPVersionIPv4 EmailRoutingSummaryDMARCParamsIPVersion = "IPv4"` - `const EmailRoutingSummaryDMARCParamsIPVersionIPv6 EmailRoutingSummaryDMARCParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryDMARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryDMARCParamsSPFPass EmailRoutingSummaryDMARCParamsSPF = "PASS"` - `const EmailRoutingSummaryDMARCParamsSPFNone EmailRoutingSummaryDMARCParamsSPF = "NONE"` - `const EmailRoutingSummaryDMARCParamsSPFFail EmailRoutingSummaryDMARCParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryDMARCResponse struct{…}` - `Meta EmailRoutingSummaryDMARCResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryDMARCResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryDMARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryDMARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryDMARCResponseMetaNormalizationPercentage EmailRoutingSummaryDMARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationMin0Max EmailRoutingSummaryDMARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationMinMax EmailRoutingSummaryDMARCResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationRawValues EmailRoutingSummaryDMARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationPercentageChange EmailRoutingSummaryDMARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationRollingAverage EmailRoutingSummaryDMARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryDMARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryDMARCResponseMetaNormalizationRatio EmailRoutingSummaryDMARCResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryDMARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.DMARC(context.TODO(), radar.EmailRoutingSummaryDMARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email encryption status summary `client.Radar.Email.Routing.Summary.Encrypted(ctx, query) (*EmailRoutingSummaryEncryptedResponse, error)` **get** `/radar/email/routing/summary/encrypted` Retrieves the distribution of emails by encryption status (encrypted vs. not-encrypted). ### Parameters - `query EmailRoutingSummaryEncryptedParams` - `ARC param.Field[[]EmailRoutingSummaryEncryptedParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummaryEncryptedParamsARCPass EmailRoutingSummaryEncryptedParamsARC = "PASS"` - `const EmailRoutingSummaryEncryptedParamsARCNone EmailRoutingSummaryEncryptedParamsARC = "NONE"` - `const EmailRoutingSummaryEncryptedParamsARCFail EmailRoutingSummaryEncryptedParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummaryEncryptedParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummaryEncryptedParamsDKIMPass EmailRoutingSummaryEncryptedParamsDKIM = "PASS"` - `const EmailRoutingSummaryEncryptedParamsDKIMNone EmailRoutingSummaryEncryptedParamsDKIM = "NONE"` - `const EmailRoutingSummaryEncryptedParamsDKIMFail EmailRoutingSummaryEncryptedParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingSummaryEncryptedParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummaryEncryptedParamsDMARCPass EmailRoutingSummaryEncryptedParamsDMARC = "PASS"` - `const EmailRoutingSummaryEncryptedParamsDMARCNone EmailRoutingSummaryEncryptedParamsDMARC = "NONE"` - `const EmailRoutingSummaryEncryptedParamsDMARCFail EmailRoutingSummaryEncryptedParamsDMARC = "FAIL"` - `Format param.Field[EmailRoutingSummaryEncryptedParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryEncryptedParamsFormatJson EmailRoutingSummaryEncryptedParamsFormat = "JSON"` - `const EmailRoutingSummaryEncryptedParamsFormatCsv EmailRoutingSummaryEncryptedParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummaryEncryptedParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummaryEncryptedParamsIPVersionIPv4 EmailRoutingSummaryEncryptedParamsIPVersion = "IPv4"` - `const EmailRoutingSummaryEncryptedParamsIPVersionIPv6 EmailRoutingSummaryEncryptedParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryEncryptedParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryEncryptedParamsSPFPass EmailRoutingSummaryEncryptedParamsSPF = "PASS"` - `const EmailRoutingSummaryEncryptedParamsSPFNone EmailRoutingSummaryEncryptedParamsSPF = "NONE"` - `const EmailRoutingSummaryEncryptedParamsSPFFail EmailRoutingSummaryEncryptedParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryEncryptedResponse struct{…}` - `Meta EmailRoutingSummaryEncryptedResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryEncryptedResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryEncryptedResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationPercentage EmailRoutingSummaryEncryptedResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationMin0Max EmailRoutingSummaryEncryptedResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationMinMax EmailRoutingSummaryEncryptedResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationRawValues EmailRoutingSummaryEncryptedResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationPercentageChange EmailRoutingSummaryEncryptedResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationRollingAverage EmailRoutingSummaryEncryptedResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryEncryptedResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryEncryptedResponseMetaNormalizationRatio EmailRoutingSummaryEncryptedResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryEncryptedResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailRoutingSummaryEncryptedResponseSummary0` - `Encrypted string` A numeric string. - `NotEncrypted string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.Encrypted(context.TODO(), radar.EmailRoutingSummaryEncryptedParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "ENCRYPTED": "10", "NOT_ENCRYPTED": "10" } }, "success": true } ``` ## Get email IP version summary `client.Radar.Email.Routing.Summary.IPVersion(ctx, query) (*EmailRoutingSummaryIPVersionResponse, error)` **get** `/radar/email/routing/summary/ip_version` Retrieves the distribution of emails by IP version. ### Parameters - `query EmailRoutingSummaryIPVersionParams` - `ARC param.Field[[]EmailRoutingSummaryIPVersionParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummaryIPVersionParamsARCPass EmailRoutingSummaryIPVersionParamsARC = "PASS"` - `const EmailRoutingSummaryIPVersionParamsARCNone EmailRoutingSummaryIPVersionParamsARC = "NONE"` - `const EmailRoutingSummaryIPVersionParamsARCFail EmailRoutingSummaryIPVersionParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummaryIPVersionParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummaryIPVersionParamsDKIMPass EmailRoutingSummaryIPVersionParamsDKIM = "PASS"` - `const EmailRoutingSummaryIPVersionParamsDKIMNone EmailRoutingSummaryIPVersionParamsDKIM = "NONE"` - `const EmailRoutingSummaryIPVersionParamsDKIMFail EmailRoutingSummaryIPVersionParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingSummaryIPVersionParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummaryIPVersionParamsDMARCPass EmailRoutingSummaryIPVersionParamsDMARC = "PASS"` - `const EmailRoutingSummaryIPVersionParamsDMARCNone EmailRoutingSummaryIPVersionParamsDMARC = "NONE"` - `const EmailRoutingSummaryIPVersionParamsDMARCFail EmailRoutingSummaryIPVersionParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummaryIPVersionParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummaryIPVersionParamsEncryptedEncrypted EmailRoutingSummaryIPVersionParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummaryIPVersionParamsEncryptedNotEncrypted EmailRoutingSummaryIPVersionParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummaryIPVersionParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummaryIPVersionParamsFormatJson EmailRoutingSummaryIPVersionParamsFormat = "JSON"` - `const EmailRoutingSummaryIPVersionParamsFormatCsv EmailRoutingSummaryIPVersionParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingSummaryIPVersionParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingSummaryIPVersionParamsSPFPass EmailRoutingSummaryIPVersionParamsSPF = "PASS"` - `const EmailRoutingSummaryIPVersionParamsSPFNone EmailRoutingSummaryIPVersionParamsSPF = "NONE"` - `const EmailRoutingSummaryIPVersionParamsSPFFail EmailRoutingSummaryIPVersionParamsSPF = "FAIL"` ### Returns - `type EmailRoutingSummaryIPVersionResponse struct{…}` - `Meta EmailRoutingSummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationPercentage EmailRoutingSummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationMin0Max EmailRoutingSummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationMinMax EmailRoutingSummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationRawValues EmailRoutingSummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationPercentageChange EmailRoutingSummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationRollingAverage EmailRoutingSummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationOverlappedPercentage EmailRoutingSummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummaryIPVersionResponseMetaNormalizationRatio EmailRoutingSummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailRoutingSummaryIPVersionResponseSummary0` - `IPv4 string` A numeric string. - `IPv6 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.IPVersion(context.TODO(), radar.EmailRoutingSummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 email SPF validation summary `client.Radar.Email.Routing.Summary.SPF(ctx, query) (*EmailRoutingSummarySPFResponse, error)` **get** `/radar/email/routing/summary/spf` Retrieves the distribution of emails by SPF (Sender Policy Framework) validation. ### Parameters - `query EmailRoutingSummarySPFParams` - `ARC param.Field[[]EmailRoutingSummarySPFParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingSummarySPFParamsARCPass EmailRoutingSummarySPFParamsARC = "PASS"` - `const EmailRoutingSummarySPFParamsARCNone EmailRoutingSummarySPFParamsARC = "NONE"` - `const EmailRoutingSummarySPFParamsARCFail EmailRoutingSummarySPFParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingSummarySPFParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingSummarySPFParamsDKIMPass EmailRoutingSummarySPFParamsDKIM = "PASS"` - `const EmailRoutingSummarySPFParamsDKIMNone EmailRoutingSummarySPFParamsDKIM = "NONE"` - `const EmailRoutingSummarySPFParamsDKIMFail EmailRoutingSummarySPFParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingSummarySPFParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingSummarySPFParamsDMARCPass EmailRoutingSummarySPFParamsDMARC = "PASS"` - `const EmailRoutingSummarySPFParamsDMARCNone EmailRoutingSummarySPFParamsDMARC = "NONE"` - `const EmailRoutingSummarySPFParamsDMARCFail EmailRoutingSummarySPFParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingSummarySPFParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingSummarySPFParamsEncryptedEncrypted EmailRoutingSummarySPFParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingSummarySPFParamsEncryptedNotEncrypted EmailRoutingSummarySPFParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingSummarySPFParamsFormat]` Format in which results will be returned. - `const EmailRoutingSummarySPFParamsFormatJson EmailRoutingSummarySPFParamsFormat = "JSON"` - `const EmailRoutingSummarySPFParamsFormatCsv EmailRoutingSummarySPFParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingSummarySPFParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingSummarySPFParamsIPVersionIPv4 EmailRoutingSummarySPFParamsIPVersion = "IPv4"` - `const EmailRoutingSummarySPFParamsIPVersionIPv6 EmailRoutingSummarySPFParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type EmailRoutingSummarySPFResponse struct{…}` - `Meta EmailRoutingSummarySPFResponseMeta` Metadata for the results. - `ConfidenceInfo EmailRoutingSummarySPFResponseMetaConfidenceInfo` - `Annotations []EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingSummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingSummarySPFResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingSummarySPFResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingSummarySPFResponseMetaNormalizationPercentage EmailRoutingSummarySPFResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingSummarySPFResponseMetaNormalizationMin0Max EmailRoutingSummarySPFResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingSummarySPFResponseMetaNormalizationMinMax EmailRoutingSummarySPFResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingSummarySPFResponseMetaNormalizationRawValues EmailRoutingSummarySPFResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingSummarySPFResponseMetaNormalizationPercentageChange EmailRoutingSummarySPFResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingSummarySPFResponseMetaNormalizationRollingAverage EmailRoutingSummarySPFResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingSummarySPFResponseMetaNormalizationOverlappedPercentage EmailRoutingSummarySPFResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingSummarySPFResponseMetaNormalizationRatio EmailRoutingSummarySPFResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingSummarySPFResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.Summary.SPF(context.TODO(), radar.EmailRoutingSummarySPFParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` # Timeseries Groups ## Get email ARC validation time series `client.Radar.Email.Routing.TimeseriesGroups.ARC(ctx, query) (*EmailRoutingTimeseriesGroupARCResponse, error)` **get** `/radar/email/routing/timeseries_groups/arc` Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation over time. ### Parameters - `query EmailRoutingTimeseriesGroupARCParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupARCParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupARCParamsAggInterval15m EmailRoutingTimeseriesGroupARCParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupARCParamsAggInterval1h EmailRoutingTimeseriesGroupARCParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupARCParamsAggInterval1d EmailRoutingTimeseriesGroupARCParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupARCParamsAggInterval1w EmailRoutingTimeseriesGroupARCParamsAggInterval = "1w"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupARCParamsDKIMPass EmailRoutingTimeseriesGroupARCParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupARCParamsDKIMNone EmailRoutingTimeseriesGroupARCParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupARCParamsDKIMFail EmailRoutingTimeseriesGroupARCParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingTimeseriesGroupARCParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupARCParamsDMARCPass EmailRoutingTimeseriesGroupARCParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupARCParamsDMARCNone EmailRoutingTimeseriesGroupARCParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupARCParamsDMARCFail EmailRoutingTimeseriesGroupARCParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupARCParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupARCParamsEncryptedEncrypted EmailRoutingTimeseriesGroupARCParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupARCParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupARCParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupARCParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupARCParamsFormatJson EmailRoutingTimeseriesGroupARCParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupARCParamsFormatCsv EmailRoutingTimeseriesGroupARCParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupARCParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupARCParamsIPVersionIPv4 EmailRoutingTimeseriesGroupARCParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupARCParamsIPVersionIPv6 EmailRoutingTimeseriesGroupARCParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupARCParamsSPFPass EmailRoutingTimeseriesGroupARCParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupARCParamsSPFNone EmailRoutingTimeseriesGroupARCParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupARCParamsSPFFail EmailRoutingTimeseriesGroupARCParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupARCResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupARCResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupARCResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupARCResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupARCResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupARCResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupARCResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupARCResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupARCResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupARCResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupARCResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupARCResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupARCResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupARCResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupARCResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.ARC(context.TODO(), radar.EmailRoutingTimeseriesGroupARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email DKIM validation time series `client.Radar.Email.Routing.TimeseriesGroups.DKIM(ctx, query) (*EmailRoutingTimeseriesGroupDKIMResponse, error)` **get** `/radar/email/routing/timeseries_groups/dkim` Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation over time. ### Parameters - `query EmailRoutingTimeseriesGroupDKIMParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupDKIMParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupDKIMParamsAggInterval15m EmailRoutingTimeseriesGroupDKIMParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupDKIMParamsAggInterval1h EmailRoutingTimeseriesGroupDKIMParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupDKIMParamsAggInterval1d EmailRoutingTimeseriesGroupDKIMParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupDKIMParamsAggInterval1w EmailRoutingTimeseriesGroupDKIMParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupDKIMParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupDKIMParamsARCPass EmailRoutingTimeseriesGroupDKIMParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupDKIMParamsARCNone EmailRoutingTimeseriesGroupDKIMParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupDKIMParamsARCFail EmailRoutingTimeseriesGroupDKIMParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DMARC param.Field[[]EmailRoutingTimeseriesGroupDKIMParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupDKIMParamsDMARCPass EmailRoutingTimeseriesGroupDKIMParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupDKIMParamsDMARCNone EmailRoutingTimeseriesGroupDKIMParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupDKIMParamsDMARCFail EmailRoutingTimeseriesGroupDKIMParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupDKIMParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupDKIMParamsEncryptedEncrypted EmailRoutingTimeseriesGroupDKIMParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupDKIMParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupDKIMParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupDKIMParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupDKIMParamsFormatJson EmailRoutingTimeseriesGroupDKIMParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupDKIMParamsFormatCsv EmailRoutingTimeseriesGroupDKIMParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupDKIMParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupDKIMParamsIPVersionIPv4 EmailRoutingTimeseriesGroupDKIMParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupDKIMParamsIPVersionIPv6 EmailRoutingTimeseriesGroupDKIMParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupDKIMParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupDKIMParamsSPFPass EmailRoutingTimeseriesGroupDKIMParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupDKIMParamsSPFNone EmailRoutingTimeseriesGroupDKIMParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupDKIMParamsSPFFail EmailRoutingTimeseriesGroupDKIMParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupDKIMResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupDKIMResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupDKIMResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupDKIMResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupDKIMResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupDKIMResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupDKIMResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.DKIM(context.TODO(), radar.EmailRoutingTimeseriesGroupDKIMParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email DMARC validation time series `client.Radar.Email.Routing.TimeseriesGroups.DMARC(ctx, query) (*EmailRoutingTimeseriesGroupDMARCResponse, error)` **get** `/radar/email/routing/timeseries_groups/dmarc` Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation over time. ### Parameters - `query EmailRoutingTimeseriesGroupDMARCParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupDMARCParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupDMARCParamsAggInterval15m EmailRoutingTimeseriesGroupDMARCParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupDMARCParamsAggInterval1h EmailRoutingTimeseriesGroupDMARCParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupDMARCParamsAggInterval1d EmailRoutingTimeseriesGroupDMARCParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupDMARCParamsAggInterval1w EmailRoutingTimeseriesGroupDMARCParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupDMARCParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupDMARCParamsARCPass EmailRoutingTimeseriesGroupDMARCParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupDMARCParamsARCNone EmailRoutingTimeseriesGroupDMARCParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupDMARCParamsARCFail EmailRoutingTimeseriesGroupDMARCParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupDMARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupDMARCParamsDKIMPass EmailRoutingTimeseriesGroupDMARCParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupDMARCParamsDKIMNone EmailRoutingTimeseriesGroupDMARCParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupDMARCParamsDKIMFail EmailRoutingTimeseriesGroupDMARCParamsDKIM = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupDMARCParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupDMARCParamsEncryptedEncrypted EmailRoutingTimeseriesGroupDMARCParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupDMARCParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupDMARCParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupDMARCParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupDMARCParamsFormatJson EmailRoutingTimeseriesGroupDMARCParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupDMARCParamsFormatCsv EmailRoutingTimeseriesGroupDMARCParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupDMARCParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupDMARCParamsIPVersionIPv4 EmailRoutingTimeseriesGroupDMARCParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupDMARCParamsIPVersionIPv6 EmailRoutingTimeseriesGroupDMARCParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupDMARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupDMARCParamsSPFPass EmailRoutingTimeseriesGroupDMARCParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupDMARCParamsSPFNone EmailRoutingTimeseriesGroupDMARCParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupDMARCParamsSPFFail EmailRoutingTimeseriesGroupDMARCParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupDMARCResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupDMARCResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupDMARCResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupDMARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupDMARCResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupDMARCResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupDMARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.DMARC(context.TODO(), radar.EmailRoutingTimeseriesGroupDMARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email encryption status time series `client.Radar.Email.Routing.TimeseriesGroups.Encrypted(ctx, query) (*EmailRoutingTimeseriesGroupEncryptedResponse, error)` **get** `/radar/email/routing/timeseries_groups/encrypted` Retrieves the distribution of emails by encryption status (encrypted vs. not-encrypted) over time. ### Parameters - `query EmailRoutingTimeseriesGroupEncryptedParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupEncryptedParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupEncryptedParamsAggInterval15m EmailRoutingTimeseriesGroupEncryptedParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupEncryptedParamsAggInterval1h EmailRoutingTimeseriesGroupEncryptedParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupEncryptedParamsAggInterval1d EmailRoutingTimeseriesGroupEncryptedParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupEncryptedParamsAggInterval1w EmailRoutingTimeseriesGroupEncryptedParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupEncryptedParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupEncryptedParamsARCPass EmailRoutingTimeseriesGroupEncryptedParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupEncryptedParamsARCNone EmailRoutingTimeseriesGroupEncryptedParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupEncryptedParamsARCFail EmailRoutingTimeseriesGroupEncryptedParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupEncryptedParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupEncryptedParamsDKIMPass EmailRoutingTimeseriesGroupEncryptedParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupEncryptedParamsDKIMNone EmailRoutingTimeseriesGroupEncryptedParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupEncryptedParamsDKIMFail EmailRoutingTimeseriesGroupEncryptedParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingTimeseriesGroupEncryptedParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupEncryptedParamsDMARCPass EmailRoutingTimeseriesGroupEncryptedParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupEncryptedParamsDMARCNone EmailRoutingTimeseriesGroupEncryptedParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupEncryptedParamsDMARCFail EmailRoutingTimeseriesGroupEncryptedParamsDMARC = "FAIL"` - `Format param.Field[EmailRoutingTimeseriesGroupEncryptedParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupEncryptedParamsFormatJson EmailRoutingTimeseriesGroupEncryptedParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupEncryptedParamsFormatCsv EmailRoutingTimeseriesGroupEncryptedParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupEncryptedParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupEncryptedParamsIPVersionIPv4 EmailRoutingTimeseriesGroupEncryptedParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupEncryptedParamsIPVersionIPv6 EmailRoutingTimeseriesGroupEncryptedParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupEncryptedParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupEncryptedParamsSPFPass EmailRoutingTimeseriesGroupEncryptedParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupEncryptedParamsSPFNone EmailRoutingTimeseriesGroupEncryptedParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupEncryptedParamsSPFFail EmailRoutingTimeseriesGroupEncryptedParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupEncryptedResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupEncryptedResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupEncryptedResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupEncryptedResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupEncryptedResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupEncryptedResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupEncryptedResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailRoutingTimeseriesGroupEncryptedResponseSerie0` - `Encrypted []string` - `NotEncrypted []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.Encrypted(context.TODO(), radar.EmailRoutingTimeseriesGroupEncryptedParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "ENCRYPTED": [ "10" ], "NOT_ENCRYPTED": [ "10" ] } }, "success": true } ``` ## Get email IP version time series `client.Radar.Email.Routing.TimeseriesGroups.IPVersion(ctx, query) (*EmailRoutingTimeseriesGroupIPVersionResponse, error)` **get** `/radar/email/routing/timeseries_groups/ip_version` Retrieves the distribution of emails by IP version over time. ### Parameters - `query EmailRoutingTimeseriesGroupIPVersionParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupIPVersionParamsAggInterval15m EmailRoutingTimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupIPVersionParamsAggInterval1h EmailRoutingTimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupIPVersionParamsAggInterval1d EmailRoutingTimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupIPVersionParamsAggInterval1w EmailRoutingTimeseriesGroupIPVersionParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupIPVersionParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupIPVersionParamsARCPass EmailRoutingTimeseriesGroupIPVersionParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupIPVersionParamsARCNone EmailRoutingTimeseriesGroupIPVersionParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupIPVersionParamsARCFail EmailRoutingTimeseriesGroupIPVersionParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupIPVersionParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupIPVersionParamsDKIMPass EmailRoutingTimeseriesGroupIPVersionParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupIPVersionParamsDKIMNone EmailRoutingTimeseriesGroupIPVersionParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupIPVersionParamsDKIMFail EmailRoutingTimeseriesGroupIPVersionParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingTimeseriesGroupIPVersionParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupIPVersionParamsDMARCPass EmailRoutingTimeseriesGroupIPVersionParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupIPVersionParamsDMARCNone EmailRoutingTimeseriesGroupIPVersionParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupIPVersionParamsDMARCFail EmailRoutingTimeseriesGroupIPVersionParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupIPVersionParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupIPVersionParamsEncryptedEncrypted EmailRoutingTimeseriesGroupIPVersionParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupIPVersionParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupIPVersionParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupIPVersionParamsFormatJson EmailRoutingTimeseriesGroupIPVersionParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupIPVersionParamsFormatCsv EmailRoutingTimeseriesGroupIPVersionParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailRoutingTimeseriesGroupIPVersionParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailRoutingTimeseriesGroupIPVersionParamsSPFPass EmailRoutingTimeseriesGroupIPVersionParamsSPF = "PASS"` - `const EmailRoutingTimeseriesGroupIPVersionParamsSPFNone EmailRoutingTimeseriesGroupIPVersionParamsSPF = "NONE"` - `const EmailRoutingTimeseriesGroupIPVersionParamsSPFFail EmailRoutingTimeseriesGroupIPVersionParamsSPF = "FAIL"` ### Returns - `type EmailRoutingTimeseriesGroupIPVersionResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailRoutingTimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.IPVersion(context.TODO(), radar.EmailRoutingTimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 email SPF validation time series `client.Radar.Email.Routing.TimeseriesGroups.SPF(ctx, query) (*EmailRoutingTimeseriesGroupSPFResponse, error)` **get** `/radar/email/routing/timeseries_groups/spf` Retrieves the distribution of emails by SPF (Sender Policy Framework) validation over time. ### Parameters - `query EmailRoutingTimeseriesGroupSPFParams` - `AggInterval param.Field[EmailRoutingTimeseriesGroupSPFParamsAggInterval]` 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/). - `const EmailRoutingTimeseriesGroupSPFParamsAggInterval15m EmailRoutingTimeseriesGroupSPFParamsAggInterval = "15m"` - `const EmailRoutingTimeseriesGroupSPFParamsAggInterval1h EmailRoutingTimeseriesGroupSPFParamsAggInterval = "1h"` - `const EmailRoutingTimeseriesGroupSPFParamsAggInterval1d EmailRoutingTimeseriesGroupSPFParamsAggInterval = "1d"` - `const EmailRoutingTimeseriesGroupSPFParamsAggInterval1w EmailRoutingTimeseriesGroupSPFParamsAggInterval = "1w"` - `ARC param.Field[[]EmailRoutingTimeseriesGroupSPFParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailRoutingTimeseriesGroupSPFParamsARCPass EmailRoutingTimeseriesGroupSPFParamsARC = "PASS"` - `const EmailRoutingTimeseriesGroupSPFParamsARCNone EmailRoutingTimeseriesGroupSPFParamsARC = "NONE"` - `const EmailRoutingTimeseriesGroupSPFParamsARCFail EmailRoutingTimeseriesGroupSPFParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailRoutingTimeseriesGroupSPFParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailRoutingTimeseriesGroupSPFParamsDKIMPass EmailRoutingTimeseriesGroupSPFParamsDKIM = "PASS"` - `const EmailRoutingTimeseriesGroupSPFParamsDKIMNone EmailRoutingTimeseriesGroupSPFParamsDKIM = "NONE"` - `const EmailRoutingTimeseriesGroupSPFParamsDKIMFail EmailRoutingTimeseriesGroupSPFParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailRoutingTimeseriesGroupSPFParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailRoutingTimeseriesGroupSPFParamsDMARCPass EmailRoutingTimeseriesGroupSPFParamsDMARC = "PASS"` - `const EmailRoutingTimeseriesGroupSPFParamsDMARCNone EmailRoutingTimeseriesGroupSPFParamsDMARC = "NONE"` - `const EmailRoutingTimeseriesGroupSPFParamsDMARCFail EmailRoutingTimeseriesGroupSPFParamsDMARC = "FAIL"` - `Encrypted param.Field[[]EmailRoutingTimeseriesGroupSPFParamsEncrypted]` Filters results by encryption status (encrypted vs. not-encrypted). - `const EmailRoutingTimeseriesGroupSPFParamsEncryptedEncrypted EmailRoutingTimeseriesGroupSPFParamsEncrypted = "ENCRYPTED"` - `const EmailRoutingTimeseriesGroupSPFParamsEncryptedNotEncrypted EmailRoutingTimeseriesGroupSPFParamsEncrypted = "NOT_ENCRYPTED"` - `Format param.Field[EmailRoutingTimeseriesGroupSPFParamsFormat]` Format in which results will be returned. - `const EmailRoutingTimeseriesGroupSPFParamsFormatJson EmailRoutingTimeseriesGroupSPFParamsFormat = "JSON"` - `const EmailRoutingTimeseriesGroupSPFParamsFormatCsv EmailRoutingTimeseriesGroupSPFParamsFormat = "CSV"` - `IPVersion param.Field[[]EmailRoutingTimeseriesGroupSPFParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const EmailRoutingTimeseriesGroupSPFParamsIPVersionIPv4 EmailRoutingTimeseriesGroupSPFParamsIPVersion = "IPv4"` - `const EmailRoutingTimeseriesGroupSPFParamsIPVersionIPv6 EmailRoutingTimeseriesGroupSPFParamsIPVersion = "IPv6"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type EmailRoutingTimeseriesGroupSPFResponse struct{…}` - `Meta EmailRoutingTimeseriesGroupSPFResponseMeta` Metadata for the results. - `AggInterval EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval` 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/). - `const EmailRoutingTimeseriesGroupSPFResponseMetaAggIntervalFifteenMinutes EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaAggIntervalOneHour EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval = "ONE_HOUR"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaAggIntervalOneDay EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval = "ONE_DAY"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaAggIntervalOneWeek EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval = "ONE_WEEK"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaAggIntervalOneMonth EmailRoutingTimeseriesGroupSPFResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfo` - `Annotations []EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotation` - `DataSource EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailRoutingTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailRoutingTimeseriesGroupSPFResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailRoutingTimeseriesGroupSPFResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationPercentage EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "PERCENTAGE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationMin0Max EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "MIN0_MAX"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationMinMax EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "MIN_MAX"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationRawValues EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "RAW_VALUES"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationPercentageChange EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationRollingAverage EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationOverlappedPercentage EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailRoutingTimeseriesGroupSPFResponseMetaNormalizationRatio EmailRoutingTimeseriesGroupSPFResponseMetaNormalization = "RATIO"` - `Units []EmailRoutingTimeseriesGroupSPFResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Routing.TimeseriesGroups.SPF(context.TODO(), radar.EmailRoutingTimeseriesGroupSPFParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` # Security ## Get email security summary by dimension `client.Radar.Email.Security.SummaryV2(ctx, dimension, query) (*EmailSecuritySummaryV2Response, error)` **get** `/radar/email/security/summary/{dimension}` Retrieves the distribution of email security metrics by the specified dimension. ### Parameters - `dimension EmailSecuritySummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const EmailSecuritySummaryV2ParamsDimensionSpam EmailSecuritySummaryV2ParamsDimension = "SPAM"` - `const EmailSecuritySummaryV2ParamsDimensionMalicious EmailSecuritySummaryV2ParamsDimension = "MALICIOUS"` - `const EmailSecuritySummaryV2ParamsDimensionSpoof EmailSecuritySummaryV2ParamsDimension = "SPOOF"` - `const EmailSecuritySummaryV2ParamsDimensionThreatCategory EmailSecuritySummaryV2ParamsDimension = "THREAT_CATEGORY"` - `const EmailSecuritySummaryV2ParamsDimensionARC EmailSecuritySummaryV2ParamsDimension = "ARC"` - `const EmailSecuritySummaryV2ParamsDimensionDKIM EmailSecuritySummaryV2ParamsDimension = "DKIM"` - `const EmailSecuritySummaryV2ParamsDimensionDMARC EmailSecuritySummaryV2ParamsDimension = "DMARC"` - `const EmailSecuritySummaryV2ParamsDimensionSPF EmailSecuritySummaryV2ParamsDimension = "SPF"` - `const EmailSecuritySummaryV2ParamsDimensionTLSVersion EmailSecuritySummaryV2ParamsDimension = "TLS_VERSION"` - `query EmailSecuritySummaryV2Params` - `ARC param.Field[[]EmailSecuritySummaryV2ParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryV2ParamsARCPass EmailSecuritySummaryV2ParamsARC = "PASS"` - `const EmailSecuritySummaryV2ParamsARCNone EmailSecuritySummaryV2ParamsARC = "NONE"` - `const EmailSecuritySummaryV2ParamsARCFail EmailSecuritySummaryV2ParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryV2ParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryV2ParamsDKIMPass EmailSecuritySummaryV2ParamsDKIM = "PASS"` - `const EmailSecuritySummaryV2ParamsDKIMNone EmailSecuritySummaryV2ParamsDKIM = "NONE"` - `const EmailSecuritySummaryV2ParamsDKIMFail EmailSecuritySummaryV2ParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummaryV2ParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryV2ParamsDMARCPass EmailSecuritySummaryV2ParamsDMARC = "PASS"` - `const EmailSecuritySummaryV2ParamsDMARCNone EmailSecuritySummaryV2ParamsDMARC = "NONE"` - `const EmailSecuritySummaryV2ParamsDMARCFail EmailSecuritySummaryV2ParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryV2ParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryV2ParamsFormatJson EmailSecuritySummaryV2ParamsFormat = "JSON"` - `const EmailSecuritySummaryV2ParamsFormatCsv EmailSecuritySummaryV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryV2ParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryV2ParamsSPFPass EmailSecuritySummaryV2ParamsSPF = "PASS"` - `const EmailSecuritySummaryV2ParamsSPFNone EmailSecuritySummaryV2ParamsSPF = "NONE"` - `const EmailSecuritySummaryV2ParamsSPFFail EmailSecuritySummaryV2ParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryV2ParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryV2ParamsTLSVersionTlSv1_0 EmailSecuritySummaryV2ParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryV2ParamsTLSVersionTlSv1_1 EmailSecuritySummaryV2ParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryV2ParamsTLSVersionTlSv1_2 EmailSecuritySummaryV2ParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryV2ParamsTLSVersionTlSv1_3 EmailSecuritySummaryV2ParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryV2Response struct{…}` - `Meta EmailSecuritySummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryV2ResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryV2ResponseMetaNormalizationPercentage EmailSecuritySummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationMin0Max EmailSecuritySummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationMinMax EmailSecuritySummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationRawValues EmailSecuritySummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationPercentageChange EmailSecuritySummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationRollingAverage EmailSecuritySummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryV2ResponseMetaNormalizationRatio EmailSecuritySummaryV2ResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.SummaryV2( context.TODO(), radar.EmailSecuritySummaryV2ParamsDimensionSpam, radar.EmailSecuritySummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "25.084366", "PASS": "50.168733" } }, "success": true } ``` ## Get email security time series grouped by dimension `client.Radar.Email.Security.TimeseriesGroupsV2(ctx, dimension, query) (*EmailSecurityTimeseriesGroupsV2Response, error)` **get** `/radar/email/security/timeseries_groups/{dimension}` Retrieves the distribution of email security metrics grouped by dimension over time. ### Parameters - `dimension EmailSecurityTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionSpam EmailSecurityTimeseriesGroupsV2ParamsDimension = "SPAM"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionMalicious EmailSecurityTimeseriesGroupsV2ParamsDimension = "MALICIOUS"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionSpoof EmailSecurityTimeseriesGroupsV2ParamsDimension = "SPOOF"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionThreatCategory EmailSecurityTimeseriesGroupsV2ParamsDimension = "THREAT_CATEGORY"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionARC EmailSecurityTimeseriesGroupsV2ParamsDimension = "ARC"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionDKIM EmailSecurityTimeseriesGroupsV2ParamsDimension = "DKIM"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionDMARC EmailSecurityTimeseriesGroupsV2ParamsDimension = "DMARC"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionSPF EmailSecurityTimeseriesGroupsV2ParamsDimension = "SPF"` - `const EmailSecurityTimeseriesGroupsV2ParamsDimensionTLSVersion EmailSecurityTimeseriesGroupsV2ParamsDimension = "TLS_VERSION"` - `query EmailSecurityTimeseriesGroupsV2Params` - `AggInterval param.Field[EmailSecurityTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupsV2ParamsAggInterval15m EmailSecurityTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupsV2ParamsAggInterval1h EmailSecurityTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupsV2ParamsAggInterval1d EmailSecurityTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupsV2ParamsAggInterval1w EmailSecurityTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupsV2ParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupsV2ParamsARCPass EmailSecurityTimeseriesGroupsV2ParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupsV2ParamsARCNone EmailSecurityTimeseriesGroupsV2ParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupsV2ParamsARCFail EmailSecurityTimeseriesGroupsV2ParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupsV2ParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupsV2ParamsDKIMPass EmailSecurityTimeseriesGroupsV2ParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupsV2ParamsDKIMNone EmailSecurityTimeseriesGroupsV2ParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupsV2ParamsDKIMFail EmailSecurityTimeseriesGroupsV2ParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupsV2ParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupsV2ParamsDMARCPass EmailSecurityTimeseriesGroupsV2ParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupsV2ParamsDMARCNone EmailSecurityTimeseriesGroupsV2ParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupsV2ParamsDMARCFail EmailSecurityTimeseriesGroupsV2ParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupsV2ParamsFormatJson EmailSecurityTimeseriesGroupsV2ParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupsV2ParamsFormatCsv EmailSecurityTimeseriesGroupsV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupsV2ParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupsV2ParamsSPFPass EmailSecurityTimeseriesGroupsV2ParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupsV2ParamsSPFNone EmailSecurityTimeseriesGroupsV2ParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupsV2ParamsSPFFail EmailSecurityTimeseriesGroupsV2ParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupsV2ParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupsV2ParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupsV2ParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupsV2ParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupsV2ParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupsV2Response struct{…}` - `Meta EmailSecurityTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroupsV2( context.TODO(), radar.EmailSecurityTimeseriesGroupsV2ParamsDimensionSpam, radar.EmailSecurityTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Top # TLDs ## Get top TLDs by email message volume `client.Radar.Email.Security.Top.TLDs.Get(ctx, query) (*EmailSecurityTopTLDGetResponse, error)` **get** `/radar/email/security/top/tlds` Retrieves the top TLDs by number of email messages. ### Parameters - `query EmailSecurityTopTLDGetParams` - `ARC param.Field[[]EmailSecurityTopTLDGetParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTopTLDGetParamsARCPass EmailSecurityTopTLDGetParamsARC = "PASS"` - `const EmailSecurityTopTLDGetParamsARCNone EmailSecurityTopTLDGetParamsARC = "NONE"` - `const EmailSecurityTopTLDGetParamsARCFail EmailSecurityTopTLDGetParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTopTLDGetParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTopTLDGetParamsDKIMPass EmailSecurityTopTLDGetParamsDKIM = "PASS"` - `const EmailSecurityTopTLDGetParamsDKIMNone EmailSecurityTopTLDGetParamsDKIM = "NONE"` - `const EmailSecurityTopTLDGetParamsDKIMFail EmailSecurityTopTLDGetParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTopTLDGetParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTopTLDGetParamsDMARCPass EmailSecurityTopTLDGetParamsDMARC = "PASS"` - `const EmailSecurityTopTLDGetParamsDMARCNone EmailSecurityTopTLDGetParamsDMARC = "NONE"` - `const EmailSecurityTopTLDGetParamsDMARCFail EmailSecurityTopTLDGetParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTopTLDGetParamsFormat]` Format in which results will be returned. - `const EmailSecurityTopTLDGetParamsFormatJson EmailSecurityTopTLDGetParamsFormat = "JSON"` - `const EmailSecurityTopTLDGetParamsFormatCsv EmailSecurityTopTLDGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTopTLDGetParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTopTLDGetParamsSPFPass EmailSecurityTopTLDGetParamsSPF = "PASS"` - `const EmailSecurityTopTLDGetParamsSPFNone EmailSecurityTopTLDGetParamsSPF = "NONE"` - `const EmailSecurityTopTLDGetParamsSPFFail EmailSecurityTopTLDGetParamsSPF = "FAIL"` - `TLDCategory param.Field[EmailSecurityTopTLDGetParamsTLDCategory]` Filters results by TLD category. - `const EmailSecurityTopTLDGetParamsTLDCategoryClassic EmailSecurityTopTLDGetParamsTLDCategory = "CLASSIC"` - `const EmailSecurityTopTLDGetParamsTLDCategoryCountry EmailSecurityTopTLDGetParamsTLDCategory = "COUNTRY"` - `TLSVersion param.Field[[]EmailSecurityTopTLDGetParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTopTLDGetParamsTLSVersionTlSv1_0 EmailSecurityTopTLDGetParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTopTLDGetParamsTLSVersionTlSv1_1 EmailSecurityTopTLDGetParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTopTLDGetParamsTLSVersionTlSv1_2 EmailSecurityTopTLDGetParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTopTLDGetParamsTLSVersionTlSv1_3 EmailSecurityTopTLDGetParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTopTLDGetResponse struct{…}` - `Meta EmailSecurityTopTLDGetResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecurityTopTLDGetResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTopTLDGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTopTLDGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTopTLDGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTopTLDGetResponseMetaNormalizationPercentage EmailSecurityTopTLDGetResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationMin0Max EmailSecurityTopTLDGetResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationMinMax EmailSecurityTopTLDGetResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationRawValues EmailSecurityTopTLDGetResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationPercentageChange EmailSecurityTopTLDGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationRollingAverage EmailSecurityTopTLDGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationOverlappedPercentage EmailSecurityTopTLDGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTopTLDGetResponseMetaNormalizationRatio EmailSecurityTopTLDGetResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTopTLDGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []EmailSecurityTopTLDGetResponseTop0` - `Name string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) tld, err := client.Radar.Email.Security.Top.TLDs.Get(context.TODO(), radar.EmailSecurityTopTLDGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", tld.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": [ { "name": "com.", "value": "10" } ] }, "success": true } ``` # Malicious ## Get top TLDs by email malicious classification `client.Radar.Email.Security.Top.TLDs.Malicious.Get(ctx, malicious, query) (*EmailSecurityTopTLDMaliciousGetResponse, error)` **get** `/radar/email/security/top/tlds/malicious/{malicious}` Retrieves the top TLDs by emails classified as malicious or not. ### Parameters - `malicious EmailSecurityTopTLDMaliciousGetParamsMalicious` Malicious classification. - `const EmailSecurityTopTLDMaliciousGetParamsMaliciousMalicious EmailSecurityTopTLDMaliciousGetParamsMalicious = "MALICIOUS"` - `const EmailSecurityTopTLDMaliciousGetParamsMaliciousNotMalicious EmailSecurityTopTLDMaliciousGetParamsMalicious = "NOT_MALICIOUS"` - `query EmailSecurityTopTLDMaliciousGetParams` - `ARC param.Field[[]EmailSecurityTopTLDMaliciousGetParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTopTLDMaliciousGetParamsARCPass EmailSecurityTopTLDMaliciousGetParamsARC = "PASS"` - `const EmailSecurityTopTLDMaliciousGetParamsARCNone EmailSecurityTopTLDMaliciousGetParamsARC = "NONE"` - `const EmailSecurityTopTLDMaliciousGetParamsARCFail EmailSecurityTopTLDMaliciousGetParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTopTLDMaliciousGetParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTopTLDMaliciousGetParamsDKIMPass EmailSecurityTopTLDMaliciousGetParamsDKIM = "PASS"` - `const EmailSecurityTopTLDMaliciousGetParamsDKIMNone EmailSecurityTopTLDMaliciousGetParamsDKIM = "NONE"` - `const EmailSecurityTopTLDMaliciousGetParamsDKIMFail EmailSecurityTopTLDMaliciousGetParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTopTLDMaliciousGetParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTopTLDMaliciousGetParamsDMARCPass EmailSecurityTopTLDMaliciousGetParamsDMARC = "PASS"` - `const EmailSecurityTopTLDMaliciousGetParamsDMARCNone EmailSecurityTopTLDMaliciousGetParamsDMARC = "NONE"` - `const EmailSecurityTopTLDMaliciousGetParamsDMARCFail EmailSecurityTopTLDMaliciousGetParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTopTLDMaliciousGetParamsFormat]` Format in which results will be returned. - `const EmailSecurityTopTLDMaliciousGetParamsFormatJson EmailSecurityTopTLDMaliciousGetParamsFormat = "JSON"` - `const EmailSecurityTopTLDMaliciousGetParamsFormatCsv EmailSecurityTopTLDMaliciousGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTopTLDMaliciousGetParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTopTLDMaliciousGetParamsSPFPass EmailSecurityTopTLDMaliciousGetParamsSPF = "PASS"` - `const EmailSecurityTopTLDMaliciousGetParamsSPFNone EmailSecurityTopTLDMaliciousGetParamsSPF = "NONE"` - `const EmailSecurityTopTLDMaliciousGetParamsSPFFail EmailSecurityTopTLDMaliciousGetParamsSPF = "FAIL"` - `TLDCategory param.Field[EmailSecurityTopTLDMaliciousGetParamsTLDCategory]` Filters results by TLD category. - `const EmailSecurityTopTLDMaliciousGetParamsTLDCategoryClassic EmailSecurityTopTLDMaliciousGetParamsTLDCategory = "CLASSIC"` - `const EmailSecurityTopTLDMaliciousGetParamsTLDCategoryCountry EmailSecurityTopTLDMaliciousGetParamsTLDCategory = "COUNTRY"` - `TLSVersion param.Field[[]EmailSecurityTopTLDMaliciousGetParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTopTLDMaliciousGetParamsTLSVersionTlSv1_0 EmailSecurityTopTLDMaliciousGetParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTopTLDMaliciousGetParamsTLSVersionTlSv1_1 EmailSecurityTopTLDMaliciousGetParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTopTLDMaliciousGetParamsTLSVersionTlSv1_2 EmailSecurityTopTLDMaliciousGetParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTopTLDMaliciousGetParamsTLSVersionTlSv1_3 EmailSecurityTopTLDMaliciousGetParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTopTLDMaliciousGetResponse struct{…}` - `Meta EmailSecurityTopTLDMaliciousGetResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTopTLDMaliciousGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTopTLDMaliciousGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTopTLDMaliciousGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationPercentage EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationMin0Max EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationMinMax EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationRawValues EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationPercentageChange EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationRollingAverage EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationOverlappedPercentage EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTopTLDMaliciousGetResponseMetaNormalizationRatio EmailSecurityTopTLDMaliciousGetResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTopTLDMaliciousGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []EmailSecurityTopTLDMaliciousGetResponseTop0` - `Name string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) malicious, err := client.Radar.Email.Security.Top.TLDs.Malicious.Get( context.TODO(), radar.EmailSecurityTopTLDMaliciousGetParamsMaliciousMalicious, radar.EmailSecurityTopTLDMaliciousGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", malicious.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": [ { "name": "com.", "value": "10" } ] }, "success": true } ``` # Spam ## Get top TLDs by email spam classification `client.Radar.Email.Security.Top.TLDs.Spam.Get(ctx, spam, query) (*EmailSecurityTopTLDSpamGetResponse, error)` **get** `/radar/email/security/top/tlds/spam/{spam}` Retrieves the top TLDs by emails classified as spam or not. ### Parameters - `spam EmailSecurityTopTLDSpamGetParamsSpam` Spam classification. - `const EmailSecurityTopTLDSpamGetParamsSpamSpam EmailSecurityTopTLDSpamGetParamsSpam = "SPAM"` - `const EmailSecurityTopTLDSpamGetParamsSpamNotSpam EmailSecurityTopTLDSpamGetParamsSpam = "NOT_SPAM"` - `query EmailSecurityTopTLDSpamGetParams` - `ARC param.Field[[]EmailSecurityTopTLDSpamGetParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTopTLDSpamGetParamsARCPass EmailSecurityTopTLDSpamGetParamsARC = "PASS"` - `const EmailSecurityTopTLDSpamGetParamsARCNone EmailSecurityTopTLDSpamGetParamsARC = "NONE"` - `const EmailSecurityTopTLDSpamGetParamsARCFail EmailSecurityTopTLDSpamGetParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTopTLDSpamGetParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTopTLDSpamGetParamsDKIMPass EmailSecurityTopTLDSpamGetParamsDKIM = "PASS"` - `const EmailSecurityTopTLDSpamGetParamsDKIMNone EmailSecurityTopTLDSpamGetParamsDKIM = "NONE"` - `const EmailSecurityTopTLDSpamGetParamsDKIMFail EmailSecurityTopTLDSpamGetParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTopTLDSpamGetParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTopTLDSpamGetParamsDMARCPass EmailSecurityTopTLDSpamGetParamsDMARC = "PASS"` - `const EmailSecurityTopTLDSpamGetParamsDMARCNone EmailSecurityTopTLDSpamGetParamsDMARC = "NONE"` - `const EmailSecurityTopTLDSpamGetParamsDMARCFail EmailSecurityTopTLDSpamGetParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTopTLDSpamGetParamsFormat]` Format in which results will be returned. - `const EmailSecurityTopTLDSpamGetParamsFormatJson EmailSecurityTopTLDSpamGetParamsFormat = "JSON"` - `const EmailSecurityTopTLDSpamGetParamsFormatCsv EmailSecurityTopTLDSpamGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTopTLDSpamGetParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTopTLDSpamGetParamsSPFPass EmailSecurityTopTLDSpamGetParamsSPF = "PASS"` - `const EmailSecurityTopTLDSpamGetParamsSPFNone EmailSecurityTopTLDSpamGetParamsSPF = "NONE"` - `const EmailSecurityTopTLDSpamGetParamsSPFFail EmailSecurityTopTLDSpamGetParamsSPF = "FAIL"` - `TLDCategory param.Field[EmailSecurityTopTLDSpamGetParamsTLDCategory]` Filters results by TLD category. - `const EmailSecurityTopTLDSpamGetParamsTLDCategoryClassic EmailSecurityTopTLDSpamGetParamsTLDCategory = "CLASSIC"` - `const EmailSecurityTopTLDSpamGetParamsTLDCategoryCountry EmailSecurityTopTLDSpamGetParamsTLDCategory = "COUNTRY"` - `TLSVersion param.Field[[]EmailSecurityTopTLDSpamGetParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTopTLDSpamGetParamsTLSVersionTlSv1_0 EmailSecurityTopTLDSpamGetParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTopTLDSpamGetParamsTLSVersionTlSv1_1 EmailSecurityTopTLDSpamGetParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTopTLDSpamGetParamsTLSVersionTlSv1_2 EmailSecurityTopTLDSpamGetParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTopTLDSpamGetParamsTLSVersionTlSv1_3 EmailSecurityTopTLDSpamGetParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTopTLDSpamGetResponse struct{…}` - `Meta EmailSecurityTopTLDSpamGetResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTopTLDSpamGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTopTLDSpamGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTopTLDSpamGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationPercentage EmailSecurityTopTLDSpamGetResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationMin0Max EmailSecurityTopTLDSpamGetResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationMinMax EmailSecurityTopTLDSpamGetResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationRawValues EmailSecurityTopTLDSpamGetResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationPercentageChange EmailSecurityTopTLDSpamGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationRollingAverage EmailSecurityTopTLDSpamGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationOverlappedPercentage EmailSecurityTopTLDSpamGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTopTLDSpamGetResponseMetaNormalizationRatio EmailSecurityTopTLDSpamGetResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTopTLDSpamGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []EmailSecurityTopTLDSpamGetResponseTop0` - `Name string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) spam, err := client.Radar.Email.Security.Top.TLDs.Spam.Get( context.TODO(), radar.EmailSecurityTopTLDSpamGetParamsSpamSpam, radar.EmailSecurityTopTLDSpamGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", spam.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": [ { "name": "com.", "value": "10" } ] }, "success": true } ``` # Spoof ## Get top TLDs by email spoof classification `client.Radar.Email.Security.Top.TLDs.Spoof.Get(ctx, spoof, query) (*EmailSecurityTopTLDSpoofGetResponse, error)` **get** `/radar/email/security/top/tlds/spoof/{spoof}` Retrieves the top TLDs by emails classified as spoof or not. ### Parameters - `spoof EmailSecurityTopTLDSpoofGetParamsSpoof` Spoof classification. - `const EmailSecurityTopTLDSpoofGetParamsSpoofSpoof EmailSecurityTopTLDSpoofGetParamsSpoof = "SPOOF"` - `const EmailSecurityTopTLDSpoofGetParamsSpoofNotSpoof EmailSecurityTopTLDSpoofGetParamsSpoof = "NOT_SPOOF"` - `query EmailSecurityTopTLDSpoofGetParams` - `ARC param.Field[[]EmailSecurityTopTLDSpoofGetParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTopTLDSpoofGetParamsARCPass EmailSecurityTopTLDSpoofGetParamsARC = "PASS"` - `const EmailSecurityTopTLDSpoofGetParamsARCNone EmailSecurityTopTLDSpoofGetParamsARC = "NONE"` - `const EmailSecurityTopTLDSpoofGetParamsARCFail EmailSecurityTopTLDSpoofGetParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTopTLDSpoofGetParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTopTLDSpoofGetParamsDKIMPass EmailSecurityTopTLDSpoofGetParamsDKIM = "PASS"` - `const EmailSecurityTopTLDSpoofGetParamsDKIMNone EmailSecurityTopTLDSpoofGetParamsDKIM = "NONE"` - `const EmailSecurityTopTLDSpoofGetParamsDKIMFail EmailSecurityTopTLDSpoofGetParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTopTLDSpoofGetParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTopTLDSpoofGetParamsDMARCPass EmailSecurityTopTLDSpoofGetParamsDMARC = "PASS"` - `const EmailSecurityTopTLDSpoofGetParamsDMARCNone EmailSecurityTopTLDSpoofGetParamsDMARC = "NONE"` - `const EmailSecurityTopTLDSpoofGetParamsDMARCFail EmailSecurityTopTLDSpoofGetParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTopTLDSpoofGetParamsFormat]` Format in which results will be returned. - `const EmailSecurityTopTLDSpoofGetParamsFormatJson EmailSecurityTopTLDSpoofGetParamsFormat = "JSON"` - `const EmailSecurityTopTLDSpoofGetParamsFormatCsv EmailSecurityTopTLDSpoofGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTopTLDSpoofGetParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTopTLDSpoofGetParamsSPFPass EmailSecurityTopTLDSpoofGetParamsSPF = "PASS"` - `const EmailSecurityTopTLDSpoofGetParamsSPFNone EmailSecurityTopTLDSpoofGetParamsSPF = "NONE"` - `const EmailSecurityTopTLDSpoofGetParamsSPFFail EmailSecurityTopTLDSpoofGetParamsSPF = "FAIL"` - `TLDCategory param.Field[EmailSecurityTopTLDSpoofGetParamsTLDCategory]` Filters results by TLD category. - `const EmailSecurityTopTLDSpoofGetParamsTLDCategoryClassic EmailSecurityTopTLDSpoofGetParamsTLDCategory = "CLASSIC"` - `const EmailSecurityTopTLDSpoofGetParamsTLDCategoryCountry EmailSecurityTopTLDSpoofGetParamsTLDCategory = "COUNTRY"` - `TLSVersion param.Field[[]EmailSecurityTopTLDSpoofGetParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTopTLDSpoofGetParamsTLSVersionTlSv1_0 EmailSecurityTopTLDSpoofGetParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTopTLDSpoofGetParamsTLSVersionTlSv1_1 EmailSecurityTopTLDSpoofGetParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTopTLDSpoofGetParamsTLSVersionTlSv1_2 EmailSecurityTopTLDSpoofGetParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTopTLDSpoofGetParamsTLSVersionTlSv1_3 EmailSecurityTopTLDSpoofGetParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTopTLDSpoofGetResponse struct{…}` - `Meta EmailSecurityTopTLDSpoofGetResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTopTLDSpoofGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTopTLDSpoofGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTopTLDSpoofGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationPercentage EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationMin0Max EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationMinMax EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationRawValues EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationPercentageChange EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationRollingAverage EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationOverlappedPercentage EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTopTLDSpoofGetResponseMetaNormalizationRatio EmailSecurityTopTLDSpoofGetResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTopTLDSpoofGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []EmailSecurityTopTLDSpoofGetResponseTop0` - `Name string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) spoof, err := client.Radar.Email.Security.Top.TLDs.Spoof.Get( context.TODO(), radar.EmailSecurityTopTLDSpoofGetParamsSpoofSpoof, radar.EmailSecurityTopTLDSpoofGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", spoof.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": [ { "name": "com.", "value": "10" } ] }, "success": true } ``` # Summary ## Get email ARC validation summary `client.Radar.Email.Security.Summary.ARC(ctx, query) (*EmailSecuritySummaryARCResponse, error)` **get** `/radar/email/security/summary/arc` Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation. ### Parameters - `query EmailSecuritySummaryARCParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryARCParamsDKIMPass EmailSecuritySummaryARCParamsDKIM = "PASS"` - `const EmailSecuritySummaryARCParamsDKIMNone EmailSecuritySummaryARCParamsDKIM = "NONE"` - `const EmailSecuritySummaryARCParamsDKIMFail EmailSecuritySummaryARCParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummaryARCParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryARCParamsDMARCPass EmailSecuritySummaryARCParamsDMARC = "PASS"` - `const EmailSecuritySummaryARCParamsDMARCNone EmailSecuritySummaryARCParamsDMARC = "NONE"` - `const EmailSecuritySummaryARCParamsDMARCFail EmailSecuritySummaryARCParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryARCParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryARCParamsFormatJson EmailSecuritySummaryARCParamsFormat = "JSON"` - `const EmailSecuritySummaryARCParamsFormatCsv EmailSecuritySummaryARCParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryARCParamsSPFPass EmailSecuritySummaryARCParamsSPF = "PASS"` - `const EmailSecuritySummaryARCParamsSPFNone EmailSecuritySummaryARCParamsSPF = "NONE"` - `const EmailSecuritySummaryARCParamsSPFFail EmailSecuritySummaryARCParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryARCParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryARCParamsTLSVersionTlSv1_0 EmailSecuritySummaryARCParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryARCParamsTLSVersionTlSv1_1 EmailSecuritySummaryARCParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryARCParamsTLSVersionTlSv1_2 EmailSecuritySummaryARCParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryARCParamsTLSVersionTlSv1_3 EmailSecuritySummaryARCParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryARCResponse struct{…}` - `Meta EmailSecuritySummaryARCResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryARCResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryARCResponseMetaNormalizationPercentage EmailSecuritySummaryARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryARCResponseMetaNormalizationMin0Max EmailSecuritySummaryARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryARCResponseMetaNormalizationMinMax EmailSecuritySummaryARCResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryARCResponseMetaNormalizationRawValues EmailSecuritySummaryARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryARCResponseMetaNormalizationPercentageChange EmailSecuritySummaryARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryARCResponseMetaNormalizationRollingAverage EmailSecuritySummaryARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryARCResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryARCResponseMetaNormalizationRatio EmailSecuritySummaryARCResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.ARC(context.TODO(), radar.EmailSecuritySummaryARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email DKIM validation summary `client.Radar.Email.Security.Summary.DKIM(ctx, query) (*EmailSecuritySummaryDKIMResponse, error)` **get** `/radar/email/security/summary/dkim` Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation. ### Parameters - `query EmailSecuritySummaryDKIMParams` - `ARC param.Field[[]EmailSecuritySummaryDKIMParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryDKIMParamsARCPass EmailSecuritySummaryDKIMParamsARC = "PASS"` - `const EmailSecuritySummaryDKIMParamsARCNone EmailSecuritySummaryDKIMParamsARC = "NONE"` - `const EmailSecuritySummaryDKIMParamsARCFail EmailSecuritySummaryDKIMParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DMARC param.Field[[]EmailSecuritySummaryDKIMParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryDKIMParamsDMARCPass EmailSecuritySummaryDKIMParamsDMARC = "PASS"` - `const EmailSecuritySummaryDKIMParamsDMARCNone EmailSecuritySummaryDKIMParamsDMARC = "NONE"` - `const EmailSecuritySummaryDKIMParamsDMARCFail EmailSecuritySummaryDKIMParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryDKIMParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryDKIMParamsFormatJson EmailSecuritySummaryDKIMParamsFormat = "JSON"` - `const EmailSecuritySummaryDKIMParamsFormatCsv EmailSecuritySummaryDKIMParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryDKIMParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryDKIMParamsSPFPass EmailSecuritySummaryDKIMParamsSPF = "PASS"` - `const EmailSecuritySummaryDKIMParamsSPFNone EmailSecuritySummaryDKIMParamsSPF = "NONE"` - `const EmailSecuritySummaryDKIMParamsSPFFail EmailSecuritySummaryDKIMParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryDKIMParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryDKIMParamsTLSVersionTlSv1_0 EmailSecuritySummaryDKIMParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryDKIMParamsTLSVersionTlSv1_1 EmailSecuritySummaryDKIMParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryDKIMParamsTLSVersionTlSv1_2 EmailSecuritySummaryDKIMParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryDKIMParamsTLSVersionTlSv1_3 EmailSecuritySummaryDKIMParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryDKIMResponse struct{…}` - `Meta EmailSecuritySummaryDKIMResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryDKIMResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryDKIMResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryDKIMResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryDKIMResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryDKIMResponseMetaNormalizationPercentage EmailSecuritySummaryDKIMResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationMin0Max EmailSecuritySummaryDKIMResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationMinMax EmailSecuritySummaryDKIMResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationRawValues EmailSecuritySummaryDKIMResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationPercentageChange EmailSecuritySummaryDKIMResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationRollingAverage EmailSecuritySummaryDKIMResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryDKIMResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryDKIMResponseMetaNormalizationRatio EmailSecuritySummaryDKIMResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryDKIMResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.DKIM(context.TODO(), radar.EmailSecuritySummaryDKIMParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email DMARC validation summary `client.Radar.Email.Security.Summary.DMARC(ctx, query) (*EmailSecuritySummaryDMARCResponse, error)` **get** `/radar/email/security/summary/dmarc` Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation. ### Parameters - `query EmailSecuritySummaryDMARCParams` - `ARC param.Field[[]EmailSecuritySummaryDMARCParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryDMARCParamsARCPass EmailSecuritySummaryDMARCParamsARC = "PASS"` - `const EmailSecuritySummaryDMARCParamsARCNone EmailSecuritySummaryDMARCParamsARC = "NONE"` - `const EmailSecuritySummaryDMARCParamsARCFail EmailSecuritySummaryDMARCParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryDMARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryDMARCParamsDKIMPass EmailSecuritySummaryDMARCParamsDKIM = "PASS"` - `const EmailSecuritySummaryDMARCParamsDKIMNone EmailSecuritySummaryDMARCParamsDKIM = "NONE"` - `const EmailSecuritySummaryDMARCParamsDKIMFail EmailSecuritySummaryDMARCParamsDKIM = "FAIL"` - `Format param.Field[EmailSecuritySummaryDMARCParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryDMARCParamsFormatJson EmailSecuritySummaryDMARCParamsFormat = "JSON"` - `const EmailSecuritySummaryDMARCParamsFormatCsv EmailSecuritySummaryDMARCParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryDMARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryDMARCParamsSPFPass EmailSecuritySummaryDMARCParamsSPF = "PASS"` - `const EmailSecuritySummaryDMARCParamsSPFNone EmailSecuritySummaryDMARCParamsSPF = "NONE"` - `const EmailSecuritySummaryDMARCParamsSPFFail EmailSecuritySummaryDMARCParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryDMARCParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryDMARCParamsTLSVersionTlSv1_0 EmailSecuritySummaryDMARCParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryDMARCParamsTLSVersionTlSv1_1 EmailSecuritySummaryDMARCParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryDMARCParamsTLSVersionTlSv1_2 EmailSecuritySummaryDMARCParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryDMARCParamsTLSVersionTlSv1_3 EmailSecuritySummaryDMARCParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryDMARCResponse struct{…}` - `Meta EmailSecuritySummaryDMARCResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryDMARCResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryDMARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryDMARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryDMARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryDMARCResponseMetaNormalizationPercentage EmailSecuritySummaryDMARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationMin0Max EmailSecuritySummaryDMARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationMinMax EmailSecuritySummaryDMARCResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationRawValues EmailSecuritySummaryDMARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationPercentageChange EmailSecuritySummaryDMARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationRollingAverage EmailSecuritySummaryDMARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryDMARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryDMARCResponseMetaNormalizationRatio EmailSecuritySummaryDMARCResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryDMARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.DMARC(context.TODO(), radar.EmailSecuritySummaryDMARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email malicious classification summary `client.Radar.Email.Security.Summary.Malicious(ctx, query) (*EmailSecuritySummaryMaliciousResponse, error)` **get** `/radar/email/security/summary/malicious` Retrieves the distribution of emails by malicious classification. ### Parameters - `query EmailSecuritySummaryMaliciousParams` - `ARC param.Field[[]EmailSecuritySummaryMaliciousParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryMaliciousParamsARCPass EmailSecuritySummaryMaliciousParamsARC = "PASS"` - `const EmailSecuritySummaryMaliciousParamsARCNone EmailSecuritySummaryMaliciousParamsARC = "NONE"` - `const EmailSecuritySummaryMaliciousParamsARCFail EmailSecuritySummaryMaliciousParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryMaliciousParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryMaliciousParamsDKIMPass EmailSecuritySummaryMaliciousParamsDKIM = "PASS"` - `const EmailSecuritySummaryMaliciousParamsDKIMNone EmailSecuritySummaryMaliciousParamsDKIM = "NONE"` - `const EmailSecuritySummaryMaliciousParamsDKIMFail EmailSecuritySummaryMaliciousParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummaryMaliciousParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryMaliciousParamsDMARCPass EmailSecuritySummaryMaliciousParamsDMARC = "PASS"` - `const EmailSecuritySummaryMaliciousParamsDMARCNone EmailSecuritySummaryMaliciousParamsDMARC = "NONE"` - `const EmailSecuritySummaryMaliciousParamsDMARCFail EmailSecuritySummaryMaliciousParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryMaliciousParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryMaliciousParamsFormatJson EmailSecuritySummaryMaliciousParamsFormat = "JSON"` - `const EmailSecuritySummaryMaliciousParamsFormatCsv EmailSecuritySummaryMaliciousParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryMaliciousParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryMaliciousParamsSPFPass EmailSecuritySummaryMaliciousParamsSPF = "PASS"` - `const EmailSecuritySummaryMaliciousParamsSPFNone EmailSecuritySummaryMaliciousParamsSPF = "NONE"` - `const EmailSecuritySummaryMaliciousParamsSPFFail EmailSecuritySummaryMaliciousParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryMaliciousParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryMaliciousParamsTLSVersionTlSv1_0 EmailSecuritySummaryMaliciousParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryMaliciousParamsTLSVersionTlSv1_1 EmailSecuritySummaryMaliciousParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryMaliciousParamsTLSVersionTlSv1_2 EmailSecuritySummaryMaliciousParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryMaliciousParamsTLSVersionTlSv1_3 EmailSecuritySummaryMaliciousParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryMaliciousResponse struct{…}` - `Meta EmailSecuritySummaryMaliciousResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryMaliciousResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryMaliciousResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationPercentage EmailSecuritySummaryMaliciousResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationMin0Max EmailSecuritySummaryMaliciousResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationMinMax EmailSecuritySummaryMaliciousResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationRawValues EmailSecuritySummaryMaliciousResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationPercentageChange EmailSecuritySummaryMaliciousResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationRollingAverage EmailSecuritySummaryMaliciousResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryMaliciousResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryMaliciousResponseMetaNormalizationRatio EmailSecuritySummaryMaliciousResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryMaliciousResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailSecuritySummaryMaliciousResponseSummary0` - `Malicious string` A numeric string. - `NotMalicious string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.Malicious(context.TODO(), radar.EmailSecuritySummaryMaliciousParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "MALICIOUS": "10", "NOT_MALICIOUS": "10" } }, "success": true } ``` ## Get email spam classification summary `client.Radar.Email.Security.Summary.Spam(ctx, query) (*EmailSecuritySummarySpamResponse, error)` **get** `/radar/email/security/summary/spam` Retrieves the proportion of emails by spam classification (spam vs. non-spam). ### Parameters - `query EmailSecuritySummarySpamParams` - `ARC param.Field[[]EmailSecuritySummarySpamParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummarySpamParamsARCPass EmailSecuritySummarySpamParamsARC = "PASS"` - `const EmailSecuritySummarySpamParamsARCNone EmailSecuritySummarySpamParamsARC = "NONE"` - `const EmailSecuritySummarySpamParamsARCFail EmailSecuritySummarySpamParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummarySpamParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummarySpamParamsDKIMPass EmailSecuritySummarySpamParamsDKIM = "PASS"` - `const EmailSecuritySummarySpamParamsDKIMNone EmailSecuritySummarySpamParamsDKIM = "NONE"` - `const EmailSecuritySummarySpamParamsDKIMFail EmailSecuritySummarySpamParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummarySpamParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummarySpamParamsDMARCPass EmailSecuritySummarySpamParamsDMARC = "PASS"` - `const EmailSecuritySummarySpamParamsDMARCNone EmailSecuritySummarySpamParamsDMARC = "NONE"` - `const EmailSecuritySummarySpamParamsDMARCFail EmailSecuritySummarySpamParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummarySpamParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummarySpamParamsFormatJson EmailSecuritySummarySpamParamsFormat = "JSON"` - `const EmailSecuritySummarySpamParamsFormatCsv EmailSecuritySummarySpamParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummarySpamParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummarySpamParamsSPFPass EmailSecuritySummarySpamParamsSPF = "PASS"` - `const EmailSecuritySummarySpamParamsSPFNone EmailSecuritySummarySpamParamsSPF = "NONE"` - `const EmailSecuritySummarySpamParamsSPFFail EmailSecuritySummarySpamParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummarySpamParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummarySpamParamsTLSVersionTlSv1_0 EmailSecuritySummarySpamParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummarySpamParamsTLSVersionTlSv1_1 EmailSecuritySummarySpamParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummarySpamParamsTLSVersionTlSv1_2 EmailSecuritySummarySpamParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummarySpamParamsTLSVersionTlSv1_3 EmailSecuritySummarySpamParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummarySpamResponse struct{…}` - `Meta EmailSecuritySummarySpamResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummarySpamResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummarySpamResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummarySpamResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummarySpamResponseMetaNormalizationPercentage EmailSecuritySummarySpamResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummarySpamResponseMetaNormalizationMin0Max EmailSecuritySummarySpamResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummarySpamResponseMetaNormalizationMinMax EmailSecuritySummarySpamResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummarySpamResponseMetaNormalizationRawValues EmailSecuritySummarySpamResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummarySpamResponseMetaNormalizationPercentageChange EmailSecuritySummarySpamResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummarySpamResponseMetaNormalizationRollingAverage EmailSecuritySummarySpamResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummarySpamResponseMetaNormalizationOverlappedPercentage EmailSecuritySummarySpamResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummarySpamResponseMetaNormalizationRatio EmailSecuritySummarySpamResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummarySpamResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailSecuritySummarySpamResponseSummary0` - `NotSpam string` A numeric string. - `Spam string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.Spam(context.TODO(), radar.EmailSecuritySummarySpamParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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_SPAM": "10", "SPAM": "10" } }, "success": true } ``` ## Get email SPF validation summary `client.Radar.Email.Security.Summary.SPF(ctx, query) (*EmailSecuritySummarySPFResponse, error)` **get** `/radar/email/security/summary/spf` Retrieves the distribution of emails by SPF (Sender Policy Framework) validation. ### Parameters - `query EmailSecuritySummarySPFParams` - `ARC param.Field[[]EmailSecuritySummarySPFParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummarySPFParamsARCPass EmailSecuritySummarySPFParamsARC = "PASS"` - `const EmailSecuritySummarySPFParamsARCNone EmailSecuritySummarySPFParamsARC = "NONE"` - `const EmailSecuritySummarySPFParamsARCFail EmailSecuritySummarySPFParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummarySPFParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummarySPFParamsDKIMPass EmailSecuritySummarySPFParamsDKIM = "PASS"` - `const EmailSecuritySummarySPFParamsDKIMNone EmailSecuritySummarySPFParamsDKIM = "NONE"` - `const EmailSecuritySummarySPFParamsDKIMFail EmailSecuritySummarySPFParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummarySPFParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummarySPFParamsDMARCPass EmailSecuritySummarySPFParamsDMARC = "PASS"` - `const EmailSecuritySummarySPFParamsDMARCNone EmailSecuritySummarySPFParamsDMARC = "NONE"` - `const EmailSecuritySummarySPFParamsDMARCFail EmailSecuritySummarySPFParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummarySPFParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummarySPFParamsFormatJson EmailSecuritySummarySPFParamsFormat = "JSON"` - `const EmailSecuritySummarySPFParamsFormatCsv EmailSecuritySummarySPFParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]EmailSecuritySummarySPFParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummarySPFParamsTLSVersionTlSv1_0 EmailSecuritySummarySPFParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummarySPFParamsTLSVersionTlSv1_1 EmailSecuritySummarySPFParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummarySPFParamsTLSVersionTlSv1_2 EmailSecuritySummarySPFParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummarySPFParamsTLSVersionTlSv1_3 EmailSecuritySummarySPFParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummarySPFResponse struct{…}` - `Meta EmailSecuritySummarySPFResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummarySPFResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummarySPFResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummarySPFResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummarySPFResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummarySPFResponseMetaNormalizationPercentage EmailSecuritySummarySPFResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummarySPFResponseMetaNormalizationMin0Max EmailSecuritySummarySPFResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummarySPFResponseMetaNormalizationMinMax EmailSecuritySummarySPFResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummarySPFResponseMetaNormalizationRawValues EmailSecuritySummarySPFResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummarySPFResponseMetaNormalizationPercentageChange EmailSecuritySummarySPFResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummarySPFResponseMetaNormalizationRollingAverage EmailSecuritySummarySPFResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummarySPFResponseMetaNormalizationOverlappedPercentage EmailSecuritySummarySPFResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummarySPFResponseMetaNormalizationRatio EmailSecuritySummarySPFResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummarySPFResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 RadarEmailSummary` - `Fail string` A numeric string. - `None string` A numeric string. - `Pass string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.SPF(context.TODO(), radar.EmailSecuritySummarySPFParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": "10", "NONE": "10", "PASS": "10" } }, "success": true } ``` ## Get email threat category summary `client.Radar.Email.Security.Summary.ThreatCategory(ctx, query) (*EmailSecuritySummaryThreatCategoryResponse, error)` **get** `/radar/email/security/summary/threat_category` Retrieves the distribution of emails by threat categories. ### Parameters - `query EmailSecuritySummaryThreatCategoryParams` - `ARC param.Field[[]EmailSecuritySummaryThreatCategoryParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryThreatCategoryParamsARCPass EmailSecuritySummaryThreatCategoryParamsARC = "PASS"` - `const EmailSecuritySummaryThreatCategoryParamsARCNone EmailSecuritySummaryThreatCategoryParamsARC = "NONE"` - `const EmailSecuritySummaryThreatCategoryParamsARCFail EmailSecuritySummaryThreatCategoryParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryThreatCategoryParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryThreatCategoryParamsDKIMPass EmailSecuritySummaryThreatCategoryParamsDKIM = "PASS"` - `const EmailSecuritySummaryThreatCategoryParamsDKIMNone EmailSecuritySummaryThreatCategoryParamsDKIM = "NONE"` - `const EmailSecuritySummaryThreatCategoryParamsDKIMFail EmailSecuritySummaryThreatCategoryParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummaryThreatCategoryParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryThreatCategoryParamsDMARCPass EmailSecuritySummaryThreatCategoryParamsDMARC = "PASS"` - `const EmailSecuritySummaryThreatCategoryParamsDMARCNone EmailSecuritySummaryThreatCategoryParamsDMARC = "NONE"` - `const EmailSecuritySummaryThreatCategoryParamsDMARCFail EmailSecuritySummaryThreatCategoryParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryThreatCategoryParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryThreatCategoryParamsFormatJson EmailSecuritySummaryThreatCategoryParamsFormat = "JSON"` - `const EmailSecuritySummaryThreatCategoryParamsFormatCsv EmailSecuritySummaryThreatCategoryParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryThreatCategoryParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryThreatCategoryParamsSPFPass EmailSecuritySummaryThreatCategoryParamsSPF = "PASS"` - `const EmailSecuritySummaryThreatCategoryParamsSPFNone EmailSecuritySummaryThreatCategoryParamsSPF = "NONE"` - `const EmailSecuritySummaryThreatCategoryParamsSPFFail EmailSecuritySummaryThreatCategoryParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummaryThreatCategoryParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummaryThreatCategoryParamsTLSVersionTlSv1_0 EmailSecuritySummaryThreatCategoryParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummaryThreatCategoryParamsTLSVersionTlSv1_1 EmailSecuritySummaryThreatCategoryParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummaryThreatCategoryParamsTLSVersionTlSv1_2 EmailSecuritySummaryThreatCategoryParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummaryThreatCategoryParamsTLSVersionTlSv1_3 EmailSecuritySummaryThreatCategoryParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummaryThreatCategoryResponse struct{…}` - `Meta EmailSecuritySummaryThreatCategoryResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryThreatCategoryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryThreatCategoryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationPercentage EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationMin0Max EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationMinMax EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationRawValues EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationPercentageChange EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationRollingAverage EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryThreatCategoryResponseMetaNormalizationRatio EmailSecuritySummaryThreatCategoryResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryThreatCategoryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailSecuritySummaryThreatCategoryResponseSummary0` - `BrandImpersonation string` A numeric string. - `CredentialHarvester string` A numeric string. - `IdentityDeception string` A numeric string. - `Link string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.ThreatCategory(context.TODO(), radar.EmailSecuritySummaryThreatCategoryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "BrandImpersonation": "10", "CredentialHarvester": "10", "IdentityDeception": "10", "Link": "10" } }, "success": true } ``` ## Get email spoof classification summary `client.Radar.Email.Security.Summary.Spoof(ctx, query) (*EmailSecuritySummarySpoofResponse, error)` **get** `/radar/email/security/summary/spoof` Retrieves the proportion of emails by spoof classification (spoof vs. non-spoof). ### Parameters - `query EmailSecuritySummarySpoofParams` - `ARC param.Field[[]EmailSecuritySummarySpoofParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummarySpoofParamsARCPass EmailSecuritySummarySpoofParamsARC = "PASS"` - `const EmailSecuritySummarySpoofParamsARCNone EmailSecuritySummarySpoofParamsARC = "NONE"` - `const EmailSecuritySummarySpoofParamsARCFail EmailSecuritySummarySpoofParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummarySpoofParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummarySpoofParamsDKIMPass EmailSecuritySummarySpoofParamsDKIM = "PASS"` - `const EmailSecuritySummarySpoofParamsDKIMNone EmailSecuritySummarySpoofParamsDKIM = "NONE"` - `const EmailSecuritySummarySpoofParamsDKIMFail EmailSecuritySummarySpoofParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummarySpoofParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummarySpoofParamsDMARCPass EmailSecuritySummarySpoofParamsDMARC = "PASS"` - `const EmailSecuritySummarySpoofParamsDMARCNone EmailSecuritySummarySpoofParamsDMARC = "NONE"` - `const EmailSecuritySummarySpoofParamsDMARCFail EmailSecuritySummarySpoofParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummarySpoofParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummarySpoofParamsFormatJson EmailSecuritySummarySpoofParamsFormat = "JSON"` - `const EmailSecuritySummarySpoofParamsFormatCsv EmailSecuritySummarySpoofParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummarySpoofParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummarySpoofParamsSPFPass EmailSecuritySummarySpoofParamsSPF = "PASS"` - `const EmailSecuritySummarySpoofParamsSPFNone EmailSecuritySummarySpoofParamsSPF = "NONE"` - `const EmailSecuritySummarySpoofParamsSPFFail EmailSecuritySummarySpoofParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecuritySummarySpoofParamsTLSVersion]` Filters results by TLS version. - `const EmailSecuritySummarySpoofParamsTLSVersionTlSv1_0 EmailSecuritySummarySpoofParamsTLSVersion = "TLSv1_0"` - `const EmailSecuritySummarySpoofParamsTLSVersionTlSv1_1 EmailSecuritySummarySpoofParamsTLSVersion = "TLSv1_1"` - `const EmailSecuritySummarySpoofParamsTLSVersionTlSv1_2 EmailSecuritySummarySpoofParamsTLSVersion = "TLSv1_2"` - `const EmailSecuritySummarySpoofParamsTLSVersionTlSv1_3 EmailSecuritySummarySpoofParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecuritySummarySpoofResponse struct{…}` - `Meta EmailSecuritySummarySpoofResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummarySpoofResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummarySpoofResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummarySpoofResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummarySpoofResponseMetaNormalizationPercentage EmailSecuritySummarySpoofResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationMin0Max EmailSecuritySummarySpoofResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationMinMax EmailSecuritySummarySpoofResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationRawValues EmailSecuritySummarySpoofResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationPercentageChange EmailSecuritySummarySpoofResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationRollingAverage EmailSecuritySummarySpoofResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationOverlappedPercentage EmailSecuritySummarySpoofResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummarySpoofResponseMetaNormalizationRatio EmailSecuritySummarySpoofResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummarySpoofResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailSecuritySummarySpoofResponseSummary0` - `NotSpoof string` A numeric string. - `Spoof string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.Spoof(context.TODO(), radar.EmailSecuritySummarySpoofParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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_SPOOF": "10", "SPOOF": "10" } }, "success": true } ``` ## Get email TLS version summary `client.Radar.Email.Security.Summary.TLSVersion(ctx, query) (*EmailSecuritySummaryTLSVersionResponse, error)` **get** `/radar/email/security/summary/tls_version` Retrieves the distribution of emails by TLS version. ### Parameters - `query EmailSecuritySummaryTLSVersionParams` - `ARC param.Field[[]EmailSecuritySummaryTLSVersionParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecuritySummaryTLSVersionParamsARCPass EmailSecuritySummaryTLSVersionParamsARC = "PASS"` - `const EmailSecuritySummaryTLSVersionParamsARCNone EmailSecuritySummaryTLSVersionParamsARC = "NONE"` - `const EmailSecuritySummaryTLSVersionParamsARCFail EmailSecuritySummaryTLSVersionParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecuritySummaryTLSVersionParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecuritySummaryTLSVersionParamsDKIMPass EmailSecuritySummaryTLSVersionParamsDKIM = "PASS"` - `const EmailSecuritySummaryTLSVersionParamsDKIMNone EmailSecuritySummaryTLSVersionParamsDKIM = "NONE"` - `const EmailSecuritySummaryTLSVersionParamsDKIMFail EmailSecuritySummaryTLSVersionParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecuritySummaryTLSVersionParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecuritySummaryTLSVersionParamsDMARCPass EmailSecuritySummaryTLSVersionParamsDMARC = "PASS"` - `const EmailSecuritySummaryTLSVersionParamsDMARCNone EmailSecuritySummaryTLSVersionParamsDMARC = "NONE"` - `const EmailSecuritySummaryTLSVersionParamsDMARCFail EmailSecuritySummaryTLSVersionParamsDMARC = "FAIL"` - `Format param.Field[EmailSecuritySummaryTLSVersionParamsFormat]` Format in which results will be returned. - `const EmailSecuritySummaryTLSVersionParamsFormatJson EmailSecuritySummaryTLSVersionParamsFormat = "JSON"` - `const EmailSecuritySummaryTLSVersionParamsFormatCsv EmailSecuritySummaryTLSVersionParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecuritySummaryTLSVersionParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecuritySummaryTLSVersionParamsSPFPass EmailSecuritySummaryTLSVersionParamsSPF = "PASS"` - `const EmailSecuritySummaryTLSVersionParamsSPFNone EmailSecuritySummaryTLSVersionParamsSPF = "NONE"` - `const EmailSecuritySummaryTLSVersionParamsSPFFail EmailSecuritySummaryTLSVersionParamsSPF = "FAIL"` ### Returns - `type EmailSecuritySummaryTLSVersionResponse struct{…}` - `Meta EmailSecuritySummaryTLSVersionResponseMeta` Metadata for the results. - `ConfidenceInfo EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfo` - `Annotations []EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecuritySummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecuritySummaryTLSVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecuritySummaryTLSVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationPercentage EmailSecuritySummaryTLSVersionResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationMin0Max EmailSecuritySummaryTLSVersionResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationMinMax EmailSecuritySummaryTLSVersionResponseMetaNormalization = "MIN_MAX"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationRawValues EmailSecuritySummaryTLSVersionResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationPercentageChange EmailSecuritySummaryTLSVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationRollingAverage EmailSecuritySummaryTLSVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationOverlappedPercentage EmailSecuritySummaryTLSVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecuritySummaryTLSVersionResponseMetaNormalizationRatio EmailSecuritySummaryTLSVersionResponseMetaNormalization = "RATIO"` - `Units []EmailSecuritySummaryTLSVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 EmailSecuritySummaryTLSVersionResponseSummary0` - `TLS1_0 string` A numeric string. - `TLS1_1 string` A numeric string. - `TLS1_2 string` A numeric string. - `TLS1_3 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.Summary.TLSVersion(context.TODO(), radar.EmailSecuritySummaryTLSVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "TLS 1.0": "10", "TLS 1.1": "10", "TLS 1.2": "10", "TLS 1.3": "10" } }, "success": true } ``` # Timeseries Groups ## Get email ARC validation time series `client.Radar.Email.Security.TimeseriesGroups.ARC(ctx, query) (*EmailSecurityTimeseriesGroupARCResponse, error)` **get** `/radar/email/security/timeseries_groups/arc` Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation over time. ### Parameters - `query EmailSecurityTimeseriesGroupARCParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupARCParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupARCParamsAggInterval15m EmailSecurityTimeseriesGroupARCParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupARCParamsAggInterval1h EmailSecurityTimeseriesGroupARCParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupARCParamsAggInterval1d EmailSecurityTimeseriesGroupARCParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupARCParamsAggInterval1w EmailSecurityTimeseriesGroupARCParamsAggInterval = "1w"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupARCParamsDKIMPass EmailSecurityTimeseriesGroupARCParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupARCParamsDKIMNone EmailSecurityTimeseriesGroupARCParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupARCParamsDKIMFail EmailSecurityTimeseriesGroupARCParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupARCParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupARCParamsDMARCPass EmailSecurityTimeseriesGroupARCParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupARCParamsDMARCNone EmailSecurityTimeseriesGroupARCParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupARCParamsDMARCFail EmailSecurityTimeseriesGroupARCParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupARCParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupARCParamsFormatJson EmailSecurityTimeseriesGroupARCParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupARCParamsFormatCsv EmailSecurityTimeseriesGroupARCParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupARCParamsSPFPass EmailSecurityTimeseriesGroupARCParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupARCParamsSPFNone EmailSecurityTimeseriesGroupARCParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupARCParamsSPFFail EmailSecurityTimeseriesGroupARCParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupARCParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupARCParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupARCParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupARCParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupARCParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupARCParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupARCParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupARCParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupARCParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupARCResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupARCResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupARCResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupARCResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupARCResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupARCResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupARCResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupARCResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupARCResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupARCResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupARCResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupARCResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupARCResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupARCResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupARCResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.ARC(context.TODO(), radar.EmailSecurityTimeseriesGroupARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email DKIM validation time series `client.Radar.Email.Security.TimeseriesGroups.DKIM(ctx, query) (*EmailSecurityTimeseriesGroupDKIMResponse, error)` **get** `/radar/email/security/timeseries_groups/dkim` Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation over time. ### Parameters - `query EmailSecurityTimeseriesGroupDKIMParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupDKIMParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupDKIMParamsAggInterval15m EmailSecurityTimeseriesGroupDKIMParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupDKIMParamsAggInterval1h EmailSecurityTimeseriesGroupDKIMParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupDKIMParamsAggInterval1d EmailSecurityTimeseriesGroupDKIMParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupDKIMParamsAggInterval1w EmailSecurityTimeseriesGroupDKIMParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupDKIMParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupDKIMParamsARCPass EmailSecurityTimeseriesGroupDKIMParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupDKIMParamsARCNone EmailSecurityTimeseriesGroupDKIMParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupDKIMParamsARCFail EmailSecurityTimeseriesGroupDKIMParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DMARC param.Field[[]EmailSecurityTimeseriesGroupDKIMParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupDKIMParamsDMARCPass EmailSecurityTimeseriesGroupDKIMParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupDKIMParamsDMARCNone EmailSecurityTimeseriesGroupDKIMParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupDKIMParamsDMARCFail EmailSecurityTimeseriesGroupDKIMParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupDKIMParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupDKIMParamsFormatJson EmailSecurityTimeseriesGroupDKIMParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupDKIMParamsFormatCsv EmailSecurityTimeseriesGroupDKIMParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupDKIMParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupDKIMParamsSPFPass EmailSecurityTimeseriesGroupDKIMParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupDKIMParamsSPFNone EmailSecurityTimeseriesGroupDKIMParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupDKIMParamsSPFFail EmailSecurityTimeseriesGroupDKIMParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupDKIMParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupDKIMParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupDKIMParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupDKIMParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupDKIMParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupDKIMParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupDKIMParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupDKIMParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupDKIMParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupDKIMResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupDKIMResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupDKIMResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupDKIMResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupDKIMResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupDKIMResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupDKIMResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupDKIMResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupDKIMResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.DKIM(context.TODO(), radar.EmailSecurityTimeseriesGroupDKIMParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email DMARC validation time series `client.Radar.Email.Security.TimeseriesGroups.DMARC(ctx, query) (*EmailSecurityTimeseriesGroupDMARCResponse, error)` **get** `/radar/email/security/timeseries_groups/dmarc` Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation over time. ### Parameters - `query EmailSecurityTimeseriesGroupDMARCParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupDMARCParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupDMARCParamsAggInterval15m EmailSecurityTimeseriesGroupDMARCParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupDMARCParamsAggInterval1h EmailSecurityTimeseriesGroupDMARCParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupDMARCParamsAggInterval1d EmailSecurityTimeseriesGroupDMARCParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupDMARCParamsAggInterval1w EmailSecurityTimeseriesGroupDMARCParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupDMARCParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupDMARCParamsARCPass EmailSecurityTimeseriesGroupDMARCParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupDMARCParamsARCNone EmailSecurityTimeseriesGroupDMARCParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupDMARCParamsARCFail EmailSecurityTimeseriesGroupDMARCParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupDMARCParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupDMARCParamsDKIMPass EmailSecurityTimeseriesGroupDMARCParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupDMARCParamsDKIMNone EmailSecurityTimeseriesGroupDMARCParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupDMARCParamsDKIMFail EmailSecurityTimeseriesGroupDMARCParamsDKIM = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupDMARCParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupDMARCParamsFormatJson EmailSecurityTimeseriesGroupDMARCParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupDMARCParamsFormatCsv EmailSecurityTimeseriesGroupDMARCParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupDMARCParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupDMARCParamsSPFPass EmailSecurityTimeseriesGroupDMARCParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupDMARCParamsSPFNone EmailSecurityTimeseriesGroupDMARCParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupDMARCParamsSPFFail EmailSecurityTimeseriesGroupDMARCParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupDMARCParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupDMARCParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupDMARCParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupDMARCParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupDMARCParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupDMARCParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupDMARCParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupDMARCParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupDMARCParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupDMARCResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupDMARCResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupDMARCResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupDMARCResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupDMARCResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupDMARCResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupDMARCResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupDMARCResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupDMARCResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.DMARC(context.TODO(), radar.EmailSecurityTimeseriesGroupDMARCParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email malicious classification time series `client.Radar.Email.Security.TimeseriesGroups.Malicious(ctx, query) (*EmailSecurityTimeseriesGroupMaliciousResponse, error)` **get** `/radar/email/security/timeseries_groups/malicious` Retrieves the distribution of emails by malicious classification over time. ### Parameters - `query EmailSecurityTimeseriesGroupMaliciousParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupMaliciousParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupMaliciousParamsAggInterval15m EmailSecurityTimeseriesGroupMaliciousParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupMaliciousParamsAggInterval1h EmailSecurityTimeseriesGroupMaliciousParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupMaliciousParamsAggInterval1d EmailSecurityTimeseriesGroupMaliciousParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupMaliciousParamsAggInterval1w EmailSecurityTimeseriesGroupMaliciousParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupMaliciousParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupMaliciousParamsARCPass EmailSecurityTimeseriesGroupMaliciousParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupMaliciousParamsARCNone EmailSecurityTimeseriesGroupMaliciousParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupMaliciousParamsARCFail EmailSecurityTimeseriesGroupMaliciousParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupMaliciousParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupMaliciousParamsDKIMPass EmailSecurityTimeseriesGroupMaliciousParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupMaliciousParamsDKIMNone EmailSecurityTimeseriesGroupMaliciousParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupMaliciousParamsDKIMFail EmailSecurityTimeseriesGroupMaliciousParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupMaliciousParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupMaliciousParamsDMARCPass EmailSecurityTimeseriesGroupMaliciousParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupMaliciousParamsDMARCNone EmailSecurityTimeseriesGroupMaliciousParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupMaliciousParamsDMARCFail EmailSecurityTimeseriesGroupMaliciousParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupMaliciousParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupMaliciousParamsFormatJson EmailSecurityTimeseriesGroupMaliciousParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupMaliciousParamsFormatCsv EmailSecurityTimeseriesGroupMaliciousParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupMaliciousParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupMaliciousParamsSPFPass EmailSecurityTimeseriesGroupMaliciousParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupMaliciousParamsSPFNone EmailSecurityTimeseriesGroupMaliciousParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupMaliciousParamsSPFFail EmailSecurityTimeseriesGroupMaliciousParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupMaliciousParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupMaliciousParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupMaliciousParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupMaliciousParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupMaliciousParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupMaliciousParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupMaliciousParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupMaliciousParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupMaliciousParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupMaliciousResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupMaliciousResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupMaliciousResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupMaliciousResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupMaliciousResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupMaliciousResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupMaliciousResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupMaliciousResponseSerie0` - `Malicious []string` - `NotMalicious []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.Malicious(context.TODO(), radar.EmailSecurityTimeseriesGroupMaliciousParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "MALICIOUS": [ "10" ], "NOT_MALICIOUS": [ "10" ] } }, "success": true } ``` ## Get email spam classification time series `client.Radar.Email.Security.TimeseriesGroups.Spam(ctx, query) (*EmailSecurityTimeseriesGroupSpamResponse, error)` **get** `/radar/email/security/timeseries_groups/spam` Retrieves the distribution of emails by spam classification (spam vs. non-spam) over time. ### Parameters - `query EmailSecurityTimeseriesGroupSpamParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupSpamParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupSpamParamsAggInterval15m EmailSecurityTimeseriesGroupSpamParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupSpamParamsAggInterval1h EmailSecurityTimeseriesGroupSpamParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupSpamParamsAggInterval1d EmailSecurityTimeseriesGroupSpamParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupSpamParamsAggInterval1w EmailSecurityTimeseriesGroupSpamParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupSpamParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupSpamParamsARCPass EmailSecurityTimeseriesGroupSpamParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupSpamParamsARCNone EmailSecurityTimeseriesGroupSpamParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupSpamParamsARCFail EmailSecurityTimeseriesGroupSpamParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupSpamParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupSpamParamsDKIMPass EmailSecurityTimeseriesGroupSpamParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupSpamParamsDKIMNone EmailSecurityTimeseriesGroupSpamParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupSpamParamsDKIMFail EmailSecurityTimeseriesGroupSpamParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupSpamParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupSpamParamsDMARCPass EmailSecurityTimeseriesGroupSpamParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupSpamParamsDMARCNone EmailSecurityTimeseriesGroupSpamParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupSpamParamsDMARCFail EmailSecurityTimeseriesGroupSpamParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupSpamParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupSpamParamsFormatJson EmailSecurityTimeseriesGroupSpamParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupSpamParamsFormatCsv EmailSecurityTimeseriesGroupSpamParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupSpamParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupSpamParamsSPFPass EmailSecurityTimeseriesGroupSpamParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupSpamParamsSPFNone EmailSecurityTimeseriesGroupSpamParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupSpamParamsSPFFail EmailSecurityTimeseriesGroupSpamParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupSpamParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupSpamParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupSpamParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupSpamParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupSpamParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupSpamParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupSpamParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupSpamParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupSpamParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupSpamResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupSpamResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupSpamResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupSpamResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupSpamResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupSpamResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupSpamResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSpamResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupSpamResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupSpamResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupSpamResponseSerie0` - `NotSpam []string` - `Spam []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.Spam(context.TODO(), radar.EmailSecurityTimeseriesGroupSpamParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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_SPAM": [ "10" ], "SPAM": [ "10" ] } }, "success": true } ``` ## Get email SPF validation time series `client.Radar.Email.Security.TimeseriesGroups.SPF(ctx, query) (*EmailSecurityTimeseriesGroupSPFResponse, error)` **get** `/radar/email/security/timeseries_groups/spf` Retrieves the distribution of emails by SPF (Sender Policy Framework) validation over time. ### Parameters - `query EmailSecurityTimeseriesGroupSPFParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupSPFParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupSPFParamsAggInterval15m EmailSecurityTimeseriesGroupSPFParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupSPFParamsAggInterval1h EmailSecurityTimeseriesGroupSPFParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupSPFParamsAggInterval1d EmailSecurityTimeseriesGroupSPFParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupSPFParamsAggInterval1w EmailSecurityTimeseriesGroupSPFParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupSPFParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupSPFParamsARCPass EmailSecurityTimeseriesGroupSPFParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupSPFParamsARCNone EmailSecurityTimeseriesGroupSPFParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupSPFParamsARCFail EmailSecurityTimeseriesGroupSPFParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupSPFParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupSPFParamsDKIMPass EmailSecurityTimeseriesGroupSPFParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupSPFParamsDKIMNone EmailSecurityTimeseriesGroupSPFParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupSPFParamsDKIMFail EmailSecurityTimeseriesGroupSPFParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupSPFParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupSPFParamsDMARCPass EmailSecurityTimeseriesGroupSPFParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupSPFParamsDMARCNone EmailSecurityTimeseriesGroupSPFParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupSPFParamsDMARCFail EmailSecurityTimeseriesGroupSPFParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupSPFParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupSPFParamsFormatJson EmailSecurityTimeseriesGroupSPFParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupSPFParamsFormatCsv EmailSecurityTimeseriesGroupSPFParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupSPFParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupSPFParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupSPFParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupSPFParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupSPFParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupSPFParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupSPFParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupSPFParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupSPFParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupSPFResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupSPFResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupSPFResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupSPFResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupSPFResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupSPFResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupSPFResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSPFResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupSPFResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupSPFResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RadarEmailSeries` - `Fail []string` - `None []string` - `Pass []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.SPF(context.TODO(), radar.EmailSecurityTimeseriesGroupSPFParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "FAIL": [ "10" ], "NONE": [ "10" ], "PASS": [ "10" ] } }, "success": true } ``` ## Get email threat category time series `client.Radar.Email.Security.TimeseriesGroups.ThreatCategory(ctx, query) (*EmailSecurityTimeseriesGroupThreatCategoryResponse, error)` **get** `/radar/email/security/timeseries_groups/threat_category` Retrieves the distribution of emails by threat category over time. ### Parameters - `query EmailSecurityTimeseriesGroupThreatCategoryParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval15m EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval1h EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval1d EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval1w EmailSecurityTimeseriesGroupThreatCategoryParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupThreatCategoryParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsARCPass EmailSecurityTimeseriesGroupThreatCategoryParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsARCNone EmailSecurityTimeseriesGroupThreatCategoryParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsARCFail EmailSecurityTimeseriesGroupThreatCategoryParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupThreatCategoryParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDKIMPass EmailSecurityTimeseriesGroupThreatCategoryParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDKIMNone EmailSecurityTimeseriesGroupThreatCategoryParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDKIMFail EmailSecurityTimeseriesGroupThreatCategoryParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupThreatCategoryParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDMARCPass EmailSecurityTimeseriesGroupThreatCategoryParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDMARCNone EmailSecurityTimeseriesGroupThreatCategoryParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsDMARCFail EmailSecurityTimeseriesGroupThreatCategoryParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupThreatCategoryParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsFormatJson EmailSecurityTimeseriesGroupThreatCategoryParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsFormatCsv EmailSecurityTimeseriesGroupThreatCategoryParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupThreatCategoryParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsSPFPass EmailSecurityTimeseriesGroupThreatCategoryParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsSPFNone EmailSecurityTimeseriesGroupThreatCategoryParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsSPFFail EmailSecurityTimeseriesGroupThreatCategoryParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupThreatCategoryParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupThreatCategoryResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupThreatCategoryResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupThreatCategoryResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupThreatCategoryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupThreatCategoryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupThreatCategoryResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupThreatCategoryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupThreatCategoryResponseSerie0` - `BrandImpersonation []string` - `CredentialHarvester []string` - `IdentityDeception []string` - `Link []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.ThreatCategory(context.TODO(), radar.EmailSecurityTimeseriesGroupThreatCategoryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "BrandImpersonation": [ "10" ], "CredentialHarvester": [ "10" ], "IdentityDeception": [ "10" ], "Link": [ "10" ] } }, "success": true } ``` ## Get email spoof classification time series `client.Radar.Email.Security.TimeseriesGroups.Spoof(ctx, query) (*EmailSecurityTimeseriesGroupSpoofResponse, error)` **get** `/radar/email/security/timeseries_groups/spoof` Retrieves the distribution of emails by spoof classification (spoof vs. non-spoof) over time. ### Parameters - `query EmailSecurityTimeseriesGroupSpoofParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupSpoofParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupSpoofParamsAggInterval15m EmailSecurityTimeseriesGroupSpoofParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupSpoofParamsAggInterval1h EmailSecurityTimeseriesGroupSpoofParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupSpoofParamsAggInterval1d EmailSecurityTimeseriesGroupSpoofParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupSpoofParamsAggInterval1w EmailSecurityTimeseriesGroupSpoofParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupSpoofParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupSpoofParamsARCPass EmailSecurityTimeseriesGroupSpoofParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupSpoofParamsARCNone EmailSecurityTimeseriesGroupSpoofParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupSpoofParamsARCFail EmailSecurityTimeseriesGroupSpoofParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupSpoofParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupSpoofParamsDKIMPass EmailSecurityTimeseriesGroupSpoofParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupSpoofParamsDKIMNone EmailSecurityTimeseriesGroupSpoofParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupSpoofParamsDKIMFail EmailSecurityTimeseriesGroupSpoofParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupSpoofParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupSpoofParamsDMARCPass EmailSecurityTimeseriesGroupSpoofParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupSpoofParamsDMARCNone EmailSecurityTimeseriesGroupSpoofParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupSpoofParamsDMARCFail EmailSecurityTimeseriesGroupSpoofParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupSpoofParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupSpoofParamsFormatJson EmailSecurityTimeseriesGroupSpoofParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupSpoofParamsFormatCsv EmailSecurityTimeseriesGroupSpoofParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupSpoofParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupSpoofParamsSPFPass EmailSecurityTimeseriesGroupSpoofParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupSpoofParamsSPFNone EmailSecurityTimeseriesGroupSpoofParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupSpoofParamsSPFFail EmailSecurityTimeseriesGroupSpoofParamsSPF = "FAIL"` - `TLSVersion param.Field[[]EmailSecurityTimeseriesGroupSpoofParamsTLSVersion]` Filters results by TLS version. - `const EmailSecurityTimeseriesGroupSpoofParamsTLSVersionTlSv1_0 EmailSecurityTimeseriesGroupSpoofParamsTLSVersion = "TLSv1_0"` - `const EmailSecurityTimeseriesGroupSpoofParamsTLSVersionTlSv1_1 EmailSecurityTimeseriesGroupSpoofParamsTLSVersion = "TLSv1_1"` - `const EmailSecurityTimeseriesGroupSpoofParamsTLSVersionTlSv1_2 EmailSecurityTimeseriesGroupSpoofParamsTLSVersion = "TLSv1_2"` - `const EmailSecurityTimeseriesGroupSpoofParamsTLSVersionTlSv1_3 EmailSecurityTimeseriesGroupSpoofParamsTLSVersion = "TLSv1_3"` ### Returns - `type EmailSecurityTimeseriesGroupSpoofResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupSpoofResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupSpoofResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupSpoofResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupSpoofResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupSpoofResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupSpoofResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupSpoofResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupSpoofResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupSpoofResponseSerie0` - `NotSpoof []string` - `Spoof []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.Spoof(context.TODO(), radar.EmailSecurityTimeseriesGroupSpoofParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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_SPOOF": [ "10" ], "SPOOF": [ "10" ] } }, "success": true } ``` ## Get email TLS version time series `client.Radar.Email.Security.TimeseriesGroups.TLSVersion(ctx, query) (*EmailSecurityTimeseriesGroupTLSVersionResponse, error)` **get** `/radar/email/security/timeseries_groups/tls_version` Retrieves the distribution of emails by TLS version over time. ### Parameters - `query EmailSecurityTimeseriesGroupTLSVersionParams` - `AggInterval param.Field[EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval]` 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/). - `const EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval15m EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval = "15m"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval1h EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval = "1h"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval1d EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval = "1d"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval1w EmailSecurityTimeseriesGroupTLSVersionParamsAggInterval = "1w"` - `ARC param.Field[[]EmailSecurityTimeseriesGroupTLSVersionParamsARC]` Filters results by ARC (Authenticated Received Chain) validation. - `const EmailSecurityTimeseriesGroupTLSVersionParamsARCPass EmailSecurityTimeseriesGroupTLSVersionParamsARC = "PASS"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsARCNone EmailSecurityTimeseriesGroupTLSVersionParamsARC = "NONE"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsARCFail EmailSecurityTimeseriesGroupTLSVersionParamsARC = "FAIL"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DKIM param.Field[[]EmailSecurityTimeseriesGroupTLSVersionParamsDKIM]` Filters results by DKIM (DomainKeys Identified Mail) validation status. - `const EmailSecurityTimeseriesGroupTLSVersionParamsDKIMPass EmailSecurityTimeseriesGroupTLSVersionParamsDKIM = "PASS"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsDKIMNone EmailSecurityTimeseriesGroupTLSVersionParamsDKIM = "NONE"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsDKIMFail EmailSecurityTimeseriesGroupTLSVersionParamsDKIM = "FAIL"` - `DMARC param.Field[[]EmailSecurityTimeseriesGroupTLSVersionParamsDMARC]` Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. - `const EmailSecurityTimeseriesGroupTLSVersionParamsDMARCPass EmailSecurityTimeseriesGroupTLSVersionParamsDMARC = "PASS"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsDMARCNone EmailSecurityTimeseriesGroupTLSVersionParamsDMARC = "NONE"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsDMARCFail EmailSecurityTimeseriesGroupTLSVersionParamsDMARC = "FAIL"` - `Format param.Field[EmailSecurityTimeseriesGroupTLSVersionParamsFormat]` Format in which results will be returned. - `const EmailSecurityTimeseriesGroupTLSVersionParamsFormatJson EmailSecurityTimeseriesGroupTLSVersionParamsFormat = "JSON"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsFormatCsv EmailSecurityTimeseriesGroupTLSVersionParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `SPF param.Field[[]EmailSecurityTimeseriesGroupTLSVersionParamsSPF]` Filters results by SPF (Sender Policy Framework) validation status. - `const EmailSecurityTimeseriesGroupTLSVersionParamsSPFPass EmailSecurityTimeseriesGroupTLSVersionParamsSPF = "PASS"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsSPFNone EmailSecurityTimeseriesGroupTLSVersionParamsSPF = "NONE"` - `const EmailSecurityTimeseriesGroupTLSVersionParamsSPFFail EmailSecurityTimeseriesGroupTLSVersionParamsSPF = "FAIL"` ### Returns - `type EmailSecurityTimeseriesGroupTLSVersionResponse struct{…}` - `Meta EmailSecurityTimeseriesGroupTLSVersionResponseMeta` Metadata for the results. - `AggInterval EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval` 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/). - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggIntervalFifteenMinutes EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggIntervalOneHour EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_HOUR"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggIntervalOneDay EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_DAY"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggIntervalOneWeek EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_WEEK"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggIntervalOneMonth EmailSecurityTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfo` - `Annotations []EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotation` - `DataSource EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly EmailSecurityTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []EmailSecurityTimeseriesGroupTLSVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationPercentage EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "PERCENTAGE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationMin0Max EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "MIN0_MAX"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationMinMax EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "MIN_MAX"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationRawValues EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "RAW_VALUES"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationPercentageChange EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationRollingAverage EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationOverlappedPercentage EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalizationRatio EmailSecurityTimeseriesGroupTLSVersionResponseMetaNormalization = "RATIO"` - `Units []EmailSecurityTimeseriesGroupTLSVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 EmailSecurityTimeseriesGroupTLSVersionResponseSerie0` - `TLS1_0 []string` - `TLS1_1 []string` - `TLS1_2 []string` - `TLS1_3 []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Email.Security.TimeseriesGroups.TLSVersion(context.TODO(), radar.EmailSecurityTimeseriesGroupTLSVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "TLS 1.0": [ "10" ], "TLS 1.1": [ "10" ], "TLS 1.2": [ "10" ], "TLS 1.3": [ "10" ] } }, "success": true } ``` # Attacks # Layer3 ## Get layer 3 attacks summary by dimension `client.Radar.Attacks.Layer3.SummaryV2(ctx, dimension, query) (*AttackLayer3SummaryV2Response, error)` **get** `/radar/attacks/layer3/summary/{dimension}` Retrieves the distribution of layer 3 attacks by the specified dimension. ### Parameters - `dimension AttackLayer3SummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const AttackLayer3SummaryV2ParamsDimensionProtocol AttackLayer3SummaryV2ParamsDimension = "PROTOCOL"` - `const AttackLayer3SummaryV2ParamsDimensionIPVersion AttackLayer3SummaryV2ParamsDimension = "IP_VERSION"` - `const AttackLayer3SummaryV2ParamsDimensionVector AttackLayer3SummaryV2ParamsDimension = "VECTOR"` - `const AttackLayer3SummaryV2ParamsDimensionDuration AttackLayer3SummaryV2ParamsDimension = "DURATION"` - `const AttackLayer3SummaryV2ParamsDimensionBitrate AttackLayer3SummaryV2ParamsDimension = "BITRATE"` - `const AttackLayer3SummaryV2ParamsDimensionVertical AttackLayer3SummaryV2ParamsDimension = "VERTICAL"` - `const AttackLayer3SummaryV2ParamsDimensionIndustry AttackLayer3SummaryV2ParamsDimension = "INDUSTRY"` - `query AttackLayer3SummaryV2Params` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryV2ParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryV2ParamsDirectionOrigin AttackLayer3SummaryV2ParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryV2ParamsDirectionTarget AttackLayer3SummaryV2ParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryV2ParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryV2ParamsFormatJson AttackLayer3SummaryV2ParamsFormat = "JSON"` - `const AttackLayer3SummaryV2ParamsFormatCsv AttackLayer3SummaryV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryV2ParamsIPVersionIPv4 AttackLayer3SummaryV2ParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryV2ParamsIPVersionIPv6 AttackLayer3SummaryV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryV2ParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryV2ParamsProtocolUdp AttackLayer3SummaryV2ParamsProtocol = "UDP"` - `const AttackLayer3SummaryV2ParamsProtocolTCP AttackLayer3SummaryV2ParamsProtocol = "TCP"` - `const AttackLayer3SummaryV2ParamsProtocolIcmp AttackLayer3SummaryV2ParamsProtocol = "ICMP"` - `const AttackLayer3SummaryV2ParamsProtocolGRE AttackLayer3SummaryV2ParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryV2Response struct{…}` - `Meta AttackLayer3SummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryV2ResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryV2ResponseMetaNormalizationPercentage AttackLayer3SummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationMin0Max AttackLayer3SummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationMinMax AttackLayer3SummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationRawValues AttackLayer3SummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationPercentageChange AttackLayer3SummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationRollingAverage AttackLayer3SummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryV2ResponseMetaNormalizationRatio AttackLayer3SummaryV2ResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.SummaryV2( context.TODO(), radar.AttackLayer3SummaryV2ParamsDimensionProtocol, radar.AttackLayer3SummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "TCP": "50.168733", "UDP": "25.084366" } }, "success": true } ``` ## Get layer 3 attacks by bytes time series `client.Radar.Attacks.Layer3.Timeseries(ctx, query) (*AttackLayer3TimeseriesResponse, error)` **get** `/radar/attacks/layer3/timeseries` Retrieves layer 3 attacks over time. ### Parameters - `query AttackLayer3TimeseriesParams` - `AggInterval param.Field[AttackLayer3TimeseriesParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesParamsAggInterval15m AttackLayer3TimeseriesParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesParamsAggInterval1h AttackLayer3TimeseriesParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesParamsAggInterval1d AttackLayer3TimeseriesParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesParamsAggInterval1w AttackLayer3TimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesParamsDirectionOrigin AttackLayer3TimeseriesParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesParamsDirectionTarget AttackLayer3TimeseriesParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesParamsFormatJson AttackLayer3TimeseriesParamsFormat = "JSON"` - `const AttackLayer3TimeseriesParamsFormatCsv AttackLayer3TimeseriesParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesParamsIPVersionIPv4 AttackLayer3TimeseriesParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesParamsIPVersionIPv6 AttackLayer3TimeseriesParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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. - `Metric param.Field[AttackLayer3TimeseriesParamsMetric]` Measurement units, eg. bytes. - `const AttackLayer3TimeseriesParamsMetricBytes AttackLayer3TimeseriesParamsMetric = "BYTES"` - `const AttackLayer3TimeseriesParamsMetricBytesOld AttackLayer3TimeseriesParamsMetric = "BYTES_OLD"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesParamsNormalizationPercentageChange AttackLayer3TimeseriesParamsNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesParamsNormalizationMin0Max AttackLayer3TimeseriesParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesParamsProtocolUdp AttackLayer3TimeseriesParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesParamsProtocolTCP AttackLayer3TimeseriesParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesParamsProtocolIcmp AttackLayer3TimeseriesParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesParamsProtocolGRE AttackLayer3TimeseriesParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesResponse struct{…}` - `Meta AttackLayer3TimeseriesResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesResponseMetaAggIntervalOneHour AttackLayer3TimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesResponseMetaAggIntervalOneDay AttackLayer3TimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesResponseMetaNormalizationPercentage AttackLayer3TimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesResponseMetaNormalizationMin0Max AttackLayer3TimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesResponseMetaNormalizationMinMax AttackLayer3TimeseriesResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesResponseMetaNormalizationRawValues AttackLayer3TimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesResponseMetaNormalizationRatio AttackLayer3TimeseriesResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Timeseries(context.TODO(), radar.AttackLayer3TimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 3 attacks time series grouped by dimension `client.Radar.Attacks.Layer3.TimeseriesGroupsV2(ctx, dimension, query) (*AttackLayer3TimeseriesGroupsV2Response, error)` **get** `/radar/attacks/layer3/timeseries_groups/{dimension}` Retrieves the distribution of layer 3 attacks grouped by dimension over time. ### Parameters - `dimension AttackLayer3TimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionProtocol AttackLayer3TimeseriesGroupsV2ParamsDimension = "PROTOCOL"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionIPVersion AttackLayer3TimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionVector AttackLayer3TimeseriesGroupsV2ParamsDimension = "VECTOR"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionDuration AttackLayer3TimeseriesGroupsV2ParamsDimension = "DURATION"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionBitrate AttackLayer3TimeseriesGroupsV2ParamsDimension = "BITRATE"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionVertical AttackLayer3TimeseriesGroupsV2ParamsDimension = "VERTICAL"` - `const AttackLayer3TimeseriesGroupsV2ParamsDimensionIndustry AttackLayer3TimeseriesGroupsV2ParamsDimension = "INDUSTRY"` - `query AttackLayer3TimeseriesGroupsV2Params` - `AggInterval param.Field[AttackLayer3TimeseriesGroupsV2ParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupsV2ParamsAggInterval15m AttackLayer3TimeseriesGroupsV2ParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupsV2ParamsAggInterval1h AttackLayer3TimeseriesGroupsV2ParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupsV2ParamsAggInterval1d AttackLayer3TimeseriesGroupsV2ParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupsV2ParamsAggInterval1w AttackLayer3TimeseriesGroupsV2ParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupsV2ParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupsV2ParamsDirectionOrigin AttackLayer3TimeseriesGroupsV2ParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupsV2ParamsDirectionTarget AttackLayer3TimeseriesGroupsV2ParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupsV2ParamsFormatJson AttackLayer3TimeseriesGroupsV2ParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupsV2ParamsFormatCsv AttackLayer3TimeseriesGroupsV2ParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupsV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupsV2ParamsIPVersionIPv4 AttackLayer3TimeseriesGroupsV2ParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupsV2ParamsIPVersionIPv6 AttackLayer3TimeseriesGroupsV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupsV2ParamsNormalizationPercentage AttackLayer3TimeseriesGroupsV2ParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupsV2ParamsNormalizationMin0Max AttackLayer3TimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupsV2ParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupsV2ParamsProtocolUdp AttackLayer3TimeseriesGroupsV2ParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupsV2ParamsProtocolTCP AttackLayer3TimeseriesGroupsV2ParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupsV2ParamsProtocolIcmp AttackLayer3TimeseriesGroupsV2ParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupsV2ParamsProtocolGRE AttackLayer3TimeseriesGroupsV2ParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupsV2Response struct{…}` - `Meta AttackLayer3TimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupsV2ResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroupsV2( context.TODO(), radar.AttackLayer3TimeseriesGroupsV2ParamsDimensionProtocol, radar.AttackLayer3TimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get layer 3 attacks by bitrate summary `client.Radar.Attacks.Layer3.Summary.Bitrate(ctx, query) (*AttackLayer3SummaryBitrateResponse, error)` **get** `/radar/attacks/layer3/summary/bitrate` Retrieves the distribution of layer 3 attacks by bitrate. ### Parameters - `query AttackLayer3SummaryBitrateParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryBitrateParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryBitrateParamsDirectionOrigin AttackLayer3SummaryBitrateParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryBitrateParamsDirectionTarget AttackLayer3SummaryBitrateParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryBitrateParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryBitrateParamsFormatJson AttackLayer3SummaryBitrateParamsFormat = "JSON"` - `const AttackLayer3SummaryBitrateParamsFormatCsv AttackLayer3SummaryBitrateParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryBitrateParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryBitrateParamsIPVersionIPv4 AttackLayer3SummaryBitrateParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryBitrateParamsIPVersionIPv6 AttackLayer3SummaryBitrateParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryBitrateParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryBitrateParamsProtocolUdp AttackLayer3SummaryBitrateParamsProtocol = "UDP"` - `const AttackLayer3SummaryBitrateParamsProtocolTCP AttackLayer3SummaryBitrateParamsProtocol = "TCP"` - `const AttackLayer3SummaryBitrateParamsProtocolIcmp AttackLayer3SummaryBitrateParamsProtocol = "ICMP"` - `const AttackLayer3SummaryBitrateParamsProtocolGRE AttackLayer3SummaryBitrateParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryBitrateResponse struct{…}` - `Meta AttackLayer3SummaryBitrateResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryBitrateResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryBitrateResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryBitrateResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryBitrateResponseMetaNormalizationPercentage AttackLayer3SummaryBitrateResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationMin0Max AttackLayer3SummaryBitrateResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationMinMax AttackLayer3SummaryBitrateResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationRawValues AttackLayer3SummaryBitrateResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationPercentageChange AttackLayer3SummaryBitrateResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationRollingAverage AttackLayer3SummaryBitrateResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryBitrateResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryBitrateResponseMetaNormalizationRatio AttackLayer3SummaryBitrateResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryBitrateResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer3SummaryBitrateResponseSummary0` - `OneGBPSToTenGBPS string` A numeric string. - `TenGBPSToOneHundredGBPS string` A numeric string. - `FiveHundredMBPSToOneGBPS string` A numeric string. - `Over100GBPS string` A numeric string. - `Under500MBPS string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Bitrate(context.TODO(), radar.AttackLayer3SummaryBitrateParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "_1_GBPS_TO_10_GBPS": "10", "_10_GBPS_TO_100_GBPS": "10", "_500_MBPS_TO_1_GBPS": "10", "OVER_100_GBPS": "10", "UNDER_500_MBPS": "10" } }, "success": true } ``` ## Get layer 3 attacks by duration summary `client.Radar.Attacks.Layer3.Summary.Duration(ctx, query) (*AttackLayer3SummaryDurationResponse, error)` **get** `/radar/attacks/layer3/summary/duration` Retrieves the distribution of layer 3 attacks by duration. ### Parameters - `query AttackLayer3SummaryDurationParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryDurationParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryDurationParamsDirectionOrigin AttackLayer3SummaryDurationParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryDurationParamsDirectionTarget AttackLayer3SummaryDurationParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryDurationParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryDurationParamsFormatJson AttackLayer3SummaryDurationParamsFormat = "JSON"` - `const AttackLayer3SummaryDurationParamsFormatCsv AttackLayer3SummaryDurationParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryDurationParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryDurationParamsIPVersionIPv4 AttackLayer3SummaryDurationParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryDurationParamsIPVersionIPv6 AttackLayer3SummaryDurationParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryDurationParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryDurationParamsProtocolUdp AttackLayer3SummaryDurationParamsProtocol = "UDP"` - `const AttackLayer3SummaryDurationParamsProtocolTCP AttackLayer3SummaryDurationParamsProtocol = "TCP"` - `const AttackLayer3SummaryDurationParamsProtocolIcmp AttackLayer3SummaryDurationParamsProtocol = "ICMP"` - `const AttackLayer3SummaryDurationParamsProtocolGRE AttackLayer3SummaryDurationParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryDurationResponse struct{…}` - `Meta AttackLayer3SummaryDurationResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryDurationResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryDurationResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryDurationResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryDurationResponseMetaNormalizationPercentage AttackLayer3SummaryDurationResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationMin0Max AttackLayer3SummaryDurationResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationMinMax AttackLayer3SummaryDurationResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationRawValues AttackLayer3SummaryDurationResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationPercentageChange AttackLayer3SummaryDurationResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationRollingAverage AttackLayer3SummaryDurationResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryDurationResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryDurationResponseMetaNormalizationRatio AttackLayer3SummaryDurationResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryDurationResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer3SummaryDurationResponseSummary0` - `OneHourToThreeHours string` A numeric string. - `TenMinsToTwentyMins string` A numeric string. - `TwentyMinsToFortyMins string` A numeric string. - `FortyMinsToOneHour string` A numeric string. - `Over3Hours string` A numeric string. - `Under10Mins string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Duration(context.TODO(), radar.AttackLayer3SummaryDurationParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "_1_HOUR_TO_3_HOURS": "10", "_10_MINS_TO_20_MINS": "10", "_20_MINS_TO_40_MINS": "10", "_40_MINS_TO_1_HOUR": "10", "OVER_3_HOURS": "10", "UNDER_10_MINS": "10" } }, "success": true } ``` ## Get layer 3 attacks by IP version summary `client.Radar.Attacks.Layer3.Summary.IPVersion(ctx, query) (*AttackLayer3SummaryIPVersionResponse, error)` **get** `/radar/attacks/layer3/summary/ip_version` Retrieves the distribution of layer 3 attacks by IP version. ### Parameters - `query AttackLayer3SummaryIPVersionParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryIPVersionParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryIPVersionParamsDirectionOrigin AttackLayer3SummaryIPVersionParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryIPVersionParamsDirectionTarget AttackLayer3SummaryIPVersionParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryIPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryIPVersionParamsFormatJson AttackLayer3SummaryIPVersionParamsFormat = "JSON"` - `const AttackLayer3SummaryIPVersionParamsFormatCsv AttackLayer3SummaryIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryIPVersionParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryIPVersionParamsProtocolUdp AttackLayer3SummaryIPVersionParamsProtocol = "UDP"` - `const AttackLayer3SummaryIPVersionParamsProtocolTCP AttackLayer3SummaryIPVersionParamsProtocol = "TCP"` - `const AttackLayer3SummaryIPVersionParamsProtocolIcmp AttackLayer3SummaryIPVersionParamsProtocol = "ICMP"` - `const AttackLayer3SummaryIPVersionParamsProtocolGRE AttackLayer3SummaryIPVersionParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryIPVersionResponse struct{…}` - `Meta AttackLayer3SummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationPercentage AttackLayer3SummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationMin0Max AttackLayer3SummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationMinMax AttackLayer3SummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationRawValues AttackLayer3SummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationPercentageChange AttackLayer3SummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationRollingAverage AttackLayer3SummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryIPVersionResponseMetaNormalizationRatio AttackLayer3SummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer3SummaryIPVersionResponseSummary0` - `IPv4 string` A numeric string. - `IPv6 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.IPVersion(context.TODO(), radar.AttackLayer3SummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 3 attacks by protocol summary `client.Radar.Attacks.Layer3.Summary.Protocol(ctx, query) (*AttackLayer3SummaryProtocolResponse, error)` **get** `/radar/attacks/layer3/summary/protocol` Retrieves the distribution of layer 3 attacks by protocol. ### Parameters - `query AttackLayer3SummaryProtocolParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryProtocolParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryProtocolParamsDirectionOrigin AttackLayer3SummaryProtocolParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryProtocolParamsDirectionTarget AttackLayer3SummaryProtocolParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryProtocolParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryProtocolParamsFormatJson AttackLayer3SummaryProtocolParamsFormat = "JSON"` - `const AttackLayer3SummaryProtocolParamsFormatCsv AttackLayer3SummaryProtocolParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryProtocolParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryProtocolParamsIPVersionIPv4 AttackLayer3SummaryProtocolParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryProtocolParamsIPVersionIPv6 AttackLayer3SummaryProtocolParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer3SummaryProtocolResponse struct{…}` - `Meta AttackLayer3SummaryProtocolResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryProtocolResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryProtocolResponseMetaNormalizationPercentage AttackLayer3SummaryProtocolResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationMin0Max AttackLayer3SummaryProtocolResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationMinMax AttackLayer3SummaryProtocolResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationRawValues AttackLayer3SummaryProtocolResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationPercentageChange AttackLayer3SummaryProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationRollingAverage AttackLayer3SummaryProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryProtocolResponseMetaNormalizationRatio AttackLayer3SummaryProtocolResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer3SummaryProtocolResponseSummary0` - `GRE string` A numeric string. - `Icmp string` A numeric string. - `TCP string` A numeric string. - `Udp string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Protocol(context.TODO(), radar.AttackLayer3SummaryProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "GRE": "10", "ICMP": "10", "TCP": "10", "UDP": "10" } }, "success": true } ``` ## Get layer 3 attacks by vector summary `client.Radar.Attacks.Layer3.Summary.Vector(ctx, query) (*AttackLayer3SummaryVectorResponse, error)` **get** `/radar/attacks/layer3/summary/vector` Retrieves the distribution of layer 3 attacks by vector. ### Parameters - `query AttackLayer3SummaryVectorParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryVectorParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryVectorParamsDirectionOrigin AttackLayer3SummaryVectorParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryVectorParamsDirectionTarget AttackLayer3SummaryVectorParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryVectorParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryVectorParamsFormatJson AttackLayer3SummaryVectorParamsFormat = "JSON"` - `const AttackLayer3SummaryVectorParamsFormatCsv AttackLayer3SummaryVectorParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryVectorParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryVectorParamsIPVersionIPv4 AttackLayer3SummaryVectorParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryVectorParamsIPVersionIPv6 AttackLayer3SummaryVectorParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryVectorParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryVectorParamsProtocolUdp AttackLayer3SummaryVectorParamsProtocol = "UDP"` - `const AttackLayer3SummaryVectorParamsProtocolTCP AttackLayer3SummaryVectorParamsProtocol = "TCP"` - `const AttackLayer3SummaryVectorParamsProtocolIcmp AttackLayer3SummaryVectorParamsProtocol = "ICMP"` - `const AttackLayer3SummaryVectorParamsProtocolGRE AttackLayer3SummaryVectorParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryVectorResponse struct{…}` - `Meta AttackLayer3SummaryVectorResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryVectorResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryVectorResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryVectorResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryVectorResponseMetaNormalizationPercentage AttackLayer3SummaryVectorResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationMin0Max AttackLayer3SummaryVectorResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationMinMax AttackLayer3SummaryVectorResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationRawValues AttackLayer3SummaryVectorResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationPercentageChange AttackLayer3SummaryVectorResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationRollingAverage AttackLayer3SummaryVectorResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryVectorResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryVectorResponseMetaNormalizationRatio AttackLayer3SummaryVectorResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryVectorResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Vector(context.TODO(), radar.AttackLayer3SummaryVectorParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "ACK Flood": "65.662148", "SYN Flood": "16.86401" } }, "success": true } ``` ## Get layer 3 attacks by targeted industry summary `client.Radar.Attacks.Layer3.Summary.Industry(ctx, query) (*AttackLayer3SummaryIndustryResponse, error)` **get** `/radar/attacks/layer3/summary/industry` Retrieves the distribution of layer 3 attacks by targeted industry. ### Parameters - `query AttackLayer3SummaryIndustryParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryIndustryParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryIndustryParamsDirectionOrigin AttackLayer3SummaryIndustryParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryIndustryParamsDirectionTarget AttackLayer3SummaryIndustryParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryIndustryParamsFormatJson AttackLayer3SummaryIndustryParamsFormat = "JSON"` - `const AttackLayer3SummaryIndustryParamsFormatCsv AttackLayer3SummaryIndustryParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryIndustryParamsIPVersionIPv4 AttackLayer3SummaryIndustryParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryIndustryParamsIPVersionIPv6 AttackLayer3SummaryIndustryParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryIndustryParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryIndustryParamsProtocolUdp AttackLayer3SummaryIndustryParamsProtocol = "UDP"` - `const AttackLayer3SummaryIndustryParamsProtocolTCP AttackLayer3SummaryIndustryParamsProtocol = "TCP"` - `const AttackLayer3SummaryIndustryParamsProtocolIcmp AttackLayer3SummaryIndustryParamsProtocol = "ICMP"` - `const AttackLayer3SummaryIndustryParamsProtocolGRE AttackLayer3SummaryIndustryParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryIndustryResponse struct{…}` - `Meta AttackLayer3SummaryIndustryResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryIndustryResponseMetaNormalizationPercentage AttackLayer3SummaryIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationMin0Max AttackLayer3SummaryIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationMinMax AttackLayer3SummaryIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationRawValues AttackLayer3SummaryIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationPercentageChange AttackLayer3SummaryIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationRollingAverage AttackLayer3SummaryIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryIndustryResponseMetaNormalizationRatio AttackLayer3SummaryIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Industry(context.TODO(), radar.AttackLayer3SummaryIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Computer Software": "65" } }, "success": true } ``` ## Get layer 3 attacks by targeted vertical summary `client.Radar.Attacks.Layer3.Summary.Vertical(ctx, query) (*AttackLayer3SummaryVerticalResponse, error)` **get** `/radar/attacks/layer3/summary/vertical` Retrieves the distribution of layer 3 attacks by targeted vertical. ### Parameters - `query AttackLayer3SummaryVerticalParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3SummaryVerticalParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3SummaryVerticalParamsDirectionOrigin AttackLayer3SummaryVerticalParamsDirection = "ORIGIN"` - `const AttackLayer3SummaryVerticalParamsDirectionTarget AttackLayer3SummaryVerticalParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3SummaryVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer3SummaryVerticalParamsFormatJson AttackLayer3SummaryVerticalParamsFormat = "JSON"` - `const AttackLayer3SummaryVerticalParamsFormatCsv AttackLayer3SummaryVerticalParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3SummaryVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3SummaryVerticalParamsIPVersionIPv4 AttackLayer3SummaryVerticalParamsIPVersion = "IPv4"` - `const AttackLayer3SummaryVerticalParamsIPVersionIPv6 AttackLayer3SummaryVerticalParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3SummaryVerticalParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3SummaryVerticalParamsProtocolUdp AttackLayer3SummaryVerticalParamsProtocol = "UDP"` - `const AttackLayer3SummaryVerticalParamsProtocolTCP AttackLayer3SummaryVerticalParamsProtocol = "TCP"` - `const AttackLayer3SummaryVerticalParamsProtocolIcmp AttackLayer3SummaryVerticalParamsProtocol = "ICMP"` - `const AttackLayer3SummaryVerticalParamsProtocolGRE AttackLayer3SummaryVerticalParamsProtocol = "GRE"` ### Returns - `type AttackLayer3SummaryVerticalResponse struct{…}` - `Meta AttackLayer3SummaryVerticalResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3SummaryVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3SummaryVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3SummaryVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3SummaryVerticalResponseMetaNormalizationPercentage AttackLayer3SummaryVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationMin0Max AttackLayer3SummaryVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationMinMax AttackLayer3SummaryVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationRawValues AttackLayer3SummaryVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationPercentageChange AttackLayer3SummaryVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationRollingAverage AttackLayer3SummaryVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3SummaryVerticalResponseMetaNormalizationRatio AttackLayer3SummaryVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3SummaryVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Summary.Vertical(context.TODO(), radar.AttackLayer3SummaryVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Internet and Telecom": "5.519081" } }, "success": true } ``` # Timeseries Groups ## Get layer 3 attacks by target industries time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Industry(ctx, query) (*AttackLayer3TimeseriesGroupIndustryResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/industry` Retrieves the distribution of layer 3 attacks by targeted industry over time. ### Parameters - `query AttackLayer3TimeseriesGroupIndustryParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupIndustryParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupIndustryParamsAggInterval15m AttackLayer3TimeseriesGroupIndustryParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupIndustryParamsAggInterval1h AttackLayer3TimeseriesGroupIndustryParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupIndustryParamsAggInterval1d AttackLayer3TimeseriesGroupIndustryParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupIndustryParamsAggInterval1w AttackLayer3TimeseriesGroupIndustryParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupIndustryParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupIndustryParamsDirectionOrigin AttackLayer3TimeseriesGroupIndustryParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupIndustryParamsDirectionTarget AttackLayer3TimeseriesGroupIndustryParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupIndustryParamsFormatJson AttackLayer3TimeseriesGroupIndustryParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupIndustryParamsFormatCsv AttackLayer3TimeseriesGroupIndustryParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupIndustryParamsIPVersionIPv4 AttackLayer3TimeseriesGroupIndustryParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupIndustryParamsIPVersionIPv6 AttackLayer3TimeseriesGroupIndustryParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupIndustryParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupIndustryParamsNormalizationPercentage AttackLayer3TimeseriesGroupIndustryParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIndustryParamsNormalizationMin0Max AttackLayer3TimeseriesGroupIndustryParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupIndustryParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupIndustryParamsProtocolUdp AttackLayer3TimeseriesGroupIndustryParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupIndustryParamsProtocolTCP AttackLayer3TimeseriesGroupIndustryParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupIndustryParamsProtocolIcmp AttackLayer3TimeseriesGroupIndustryParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupIndustryParamsProtocolGRE AttackLayer3TimeseriesGroupIndustryParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupIndustryResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupIndustryResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupIndustryResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIndustryResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupIndustryResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Industry(context.TODO(), radar.AttackLayer3TimeseriesGroupIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 3 attacks by IP version time series `client.Radar.Attacks.Layer3.TimeseriesGroups.IPVersion(ctx, query) (*AttackLayer3TimeseriesGroupIPVersionResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/ip_version` Retrieves the distribution of layer 3 attacks by IP version over time. ### Parameters - `query AttackLayer3TimeseriesGroupIPVersionParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupIPVersionParamsAggInterval15m AttackLayer3TimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupIPVersionParamsAggInterval1h AttackLayer3TimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupIPVersionParamsAggInterval1d AttackLayer3TimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupIPVersionParamsAggInterval1w AttackLayer3TimeseriesGroupIPVersionParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupIPVersionParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupIPVersionParamsDirectionOrigin AttackLayer3TimeseriesGroupIPVersionParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupIPVersionParamsDirectionTarget AttackLayer3TimeseriesGroupIPVersionParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupIPVersionParamsFormatJson AttackLayer3TimeseriesGroupIPVersionParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupIPVersionParamsFormatCsv AttackLayer3TimeseriesGroupIPVersionParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupIPVersionParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupIPVersionParamsNormalizationPercentage AttackLayer3TimeseriesGroupIPVersionParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIPVersionParamsNormalizationMin0Max AttackLayer3TimeseriesGroupIPVersionParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupIPVersionParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupIPVersionParamsProtocolUdp AttackLayer3TimeseriesGroupIPVersionParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupIPVersionParamsProtocolTCP AttackLayer3TimeseriesGroupIPVersionParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupIPVersionParamsProtocolIcmp AttackLayer3TimeseriesGroupIPVersionParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupIPVersionParamsProtocolGRE AttackLayer3TimeseriesGroupIPVersionParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupIPVersionResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.IPVersion(context.TODO(), radar.AttackLayer3TimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get layer 3 attacks by protocol time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Protocol(ctx, query) (*AttackLayer3TimeseriesGroupProtocolResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/protocol` Retrieves the distribution of layer 3 attacks by protocol over time. ### Parameters - `query AttackLayer3TimeseriesGroupProtocolParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupProtocolParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupProtocolParamsAggInterval15m AttackLayer3TimeseriesGroupProtocolParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupProtocolParamsAggInterval1h AttackLayer3TimeseriesGroupProtocolParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupProtocolParamsAggInterval1d AttackLayer3TimeseriesGroupProtocolParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupProtocolParamsAggInterval1w AttackLayer3TimeseriesGroupProtocolParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupProtocolParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupProtocolParamsDirectionOrigin AttackLayer3TimeseriesGroupProtocolParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupProtocolParamsDirectionTarget AttackLayer3TimeseriesGroupProtocolParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupProtocolParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupProtocolParamsFormatJson AttackLayer3TimeseriesGroupProtocolParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupProtocolParamsFormatCsv AttackLayer3TimeseriesGroupProtocolParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupProtocolParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupProtocolParamsIPVersionIPv4 AttackLayer3TimeseriesGroupProtocolParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupProtocolParamsIPVersionIPv6 AttackLayer3TimeseriesGroupProtocolParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupProtocolParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupProtocolParamsNormalizationPercentage AttackLayer3TimeseriesGroupProtocolParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupProtocolParamsNormalizationMin0Max AttackLayer3TimeseriesGroupProtocolParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer3TimeseriesGroupProtocolResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupProtocolResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupProtocolResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupProtocolResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupProtocolResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupProtocolResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupProtocolResponseSerie0` - `GRE []string` - `Icmp []string` - `TCP []string` - `Timestamps []Time` - `Udp []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Protocol(context.TODO(), radar.AttackLayer3TimeseriesGroupProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "GRE": [ "10" ], "ICMP": [ "10" ], "TCP": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ], "UDP": [ "10" ] } }, "success": true } ``` ## Get layer 3 attacks by vector time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Vector(ctx, query) (*AttackLayer3TimeseriesGroupVectorResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/vector` Retrieves the distribution of layer 3 attacks by vector over time. ### Parameters - `query AttackLayer3TimeseriesGroupVectorParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupVectorParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupVectorParamsAggInterval15m AttackLayer3TimeseriesGroupVectorParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupVectorParamsAggInterval1h AttackLayer3TimeseriesGroupVectorParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupVectorParamsAggInterval1d AttackLayer3TimeseriesGroupVectorParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupVectorParamsAggInterval1w AttackLayer3TimeseriesGroupVectorParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupVectorParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupVectorParamsDirectionOrigin AttackLayer3TimeseriesGroupVectorParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupVectorParamsDirectionTarget AttackLayer3TimeseriesGroupVectorParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupVectorParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupVectorParamsFormatJson AttackLayer3TimeseriesGroupVectorParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupVectorParamsFormatCsv AttackLayer3TimeseriesGroupVectorParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupVectorParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupVectorParamsIPVersionIPv4 AttackLayer3TimeseriesGroupVectorParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupVectorParamsIPVersionIPv6 AttackLayer3TimeseriesGroupVectorParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupVectorParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupVectorParamsNormalizationPercentage AttackLayer3TimeseriesGroupVectorParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVectorParamsNormalizationMin0Max AttackLayer3TimeseriesGroupVectorParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupVectorParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupVectorParamsProtocolUdp AttackLayer3TimeseriesGroupVectorParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupVectorParamsProtocolTCP AttackLayer3TimeseriesGroupVectorParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupVectorParamsProtocolIcmp AttackLayer3TimeseriesGroupVectorParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupVectorParamsProtocolGRE AttackLayer3TimeseriesGroupVectorParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupVectorResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupVectorResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupVectorResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupVectorResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupVectorResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupVectorResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupVectorResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVectorResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupVectorResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupVectorResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupVectorResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Vector(context.TODO(), radar.AttackLayer3TimeseriesGroupVectorParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 3 attacks by vertical time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Vertical(ctx, query) (*AttackLayer3TimeseriesGroupVerticalResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/vertical` Retrieves the distribution of layer 3 attacks by targeted vertical over time. ### Parameters - `query AttackLayer3TimeseriesGroupVerticalParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupVerticalParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupVerticalParamsAggInterval15m AttackLayer3TimeseriesGroupVerticalParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupVerticalParamsAggInterval1h AttackLayer3TimeseriesGroupVerticalParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupVerticalParamsAggInterval1d AttackLayer3TimeseriesGroupVerticalParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupVerticalParamsAggInterval1w AttackLayer3TimeseriesGroupVerticalParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupVerticalParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupVerticalParamsDirectionOrigin AttackLayer3TimeseriesGroupVerticalParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupVerticalParamsDirectionTarget AttackLayer3TimeseriesGroupVerticalParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupVerticalParamsFormatJson AttackLayer3TimeseriesGroupVerticalParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupVerticalParamsFormatCsv AttackLayer3TimeseriesGroupVerticalParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupVerticalParamsIPVersionIPv4 AttackLayer3TimeseriesGroupVerticalParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupVerticalParamsIPVersionIPv6 AttackLayer3TimeseriesGroupVerticalParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupVerticalParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupVerticalParamsNormalizationPercentage AttackLayer3TimeseriesGroupVerticalParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVerticalParamsNormalizationMin0Max AttackLayer3TimeseriesGroupVerticalParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupVerticalParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupVerticalParamsProtocolUdp AttackLayer3TimeseriesGroupVerticalParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupVerticalParamsProtocolTCP AttackLayer3TimeseriesGroupVerticalParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupVerticalParamsProtocolIcmp AttackLayer3TimeseriesGroupVerticalParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupVerticalParamsProtocolGRE AttackLayer3TimeseriesGroupVerticalParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupVerticalResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupVerticalResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupVerticalResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupVerticalResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupVerticalResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Vertical(context.TODO(), radar.AttackLayer3TimeseriesGroupVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 3 attacks by bitrate time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Bitrate(ctx, query) (*AttackLayer3TimeseriesGroupBitrateResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/bitrate` Retrieves the distribution of layer 3 attacks by bitrate over time. ### Parameters - `query AttackLayer3TimeseriesGroupBitrateParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupBitrateParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupBitrateParamsAggInterval15m AttackLayer3TimeseriesGroupBitrateParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupBitrateParamsAggInterval1h AttackLayer3TimeseriesGroupBitrateParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupBitrateParamsAggInterval1d AttackLayer3TimeseriesGroupBitrateParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupBitrateParamsAggInterval1w AttackLayer3TimeseriesGroupBitrateParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupBitrateParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupBitrateParamsDirectionOrigin AttackLayer3TimeseriesGroupBitrateParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupBitrateParamsDirectionTarget AttackLayer3TimeseriesGroupBitrateParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupBitrateParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupBitrateParamsFormatJson AttackLayer3TimeseriesGroupBitrateParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupBitrateParamsFormatCsv AttackLayer3TimeseriesGroupBitrateParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupBitrateParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupBitrateParamsIPVersionIPv4 AttackLayer3TimeseriesGroupBitrateParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupBitrateParamsIPVersionIPv6 AttackLayer3TimeseriesGroupBitrateParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupBitrateParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupBitrateParamsNormalizationPercentage AttackLayer3TimeseriesGroupBitrateParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupBitrateParamsNormalizationMin0Max AttackLayer3TimeseriesGroupBitrateParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupBitrateParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupBitrateParamsProtocolUdp AttackLayer3TimeseriesGroupBitrateParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupBitrateParamsProtocolTCP AttackLayer3TimeseriesGroupBitrateParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupBitrateParamsProtocolIcmp AttackLayer3TimeseriesGroupBitrateParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupBitrateParamsProtocolGRE AttackLayer3TimeseriesGroupBitrateParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupBitrateResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupBitrateResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupBitrateResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupBitrateResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupBitrateResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupBitrateResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupBitrateResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupBitrateResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupBitrateResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupBitrateResponseSerie0` - `OneGBPSToTenGBPS []string` - `TenGBPSToOneHundredGBPS []string` - `FiveHundredMBPSToOneGBPS []string` - `Over100GBPS []string` - `Timestamps []Time` - `Under500MBPS []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Bitrate(context.TODO(), radar.AttackLayer3TimeseriesGroupBitrateParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "_1_GBPS_TO_10_GBPS": [ "10" ], "_10_GBPS_TO_100_GBPS": [ "10" ], "_500_MBPS_TO_1_GBPS": [ "10" ], "OVER_100_GBPS": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ], "UNDER_500_MBPS": [ "10" ] } }, "success": true } ``` ## Get layer 3 attacks by duration time series `client.Radar.Attacks.Layer3.TimeseriesGroups.Duration(ctx, query) (*AttackLayer3TimeseriesGroupDurationResponse, error)` **get** `/radar/attacks/layer3/timeseries_groups/duration` Retrieves the distribution of layer 3 attacks by duration over time. ### Parameters - `query AttackLayer3TimeseriesGroupDurationParams` - `AggInterval param.Field[AttackLayer3TimeseriesGroupDurationParamsAggInterval]` 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/). - `const AttackLayer3TimeseriesGroupDurationParamsAggInterval15m AttackLayer3TimeseriesGroupDurationParamsAggInterval = "15m"` - `const AttackLayer3TimeseriesGroupDurationParamsAggInterval1h AttackLayer3TimeseriesGroupDurationParamsAggInterval = "1h"` - `const AttackLayer3TimeseriesGroupDurationParamsAggInterval1d AttackLayer3TimeseriesGroupDurationParamsAggInterval = "1d"` - `const AttackLayer3TimeseriesGroupDurationParamsAggInterval1w AttackLayer3TimeseriesGroupDurationParamsAggInterval = "1w"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Direction param.Field[AttackLayer3TimeseriesGroupDurationParamsDirection]` Specifies whether the `location` filter applies to the source or target location. - `const AttackLayer3TimeseriesGroupDurationParamsDirectionOrigin AttackLayer3TimeseriesGroupDurationParamsDirection = "ORIGIN"` - `const AttackLayer3TimeseriesGroupDurationParamsDirectionTarget AttackLayer3TimeseriesGroupDurationParamsDirection = "TARGET"` - `Format param.Field[AttackLayer3TimeseriesGroupDurationParamsFormat]` Format in which results will be returned. - `const AttackLayer3TimeseriesGroupDurationParamsFormatJson AttackLayer3TimeseriesGroupDurationParamsFormat = "JSON"` - `const AttackLayer3TimeseriesGroupDurationParamsFormatCsv AttackLayer3TimeseriesGroupDurationParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TimeseriesGroupDurationParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TimeseriesGroupDurationParamsIPVersionIPv4 AttackLayer3TimeseriesGroupDurationParamsIPVersion = "IPv4"` - `const AttackLayer3TimeseriesGroupDurationParamsIPVersionIPv6 AttackLayer3TimeseriesGroupDurationParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TimeseriesGroupDurationParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupDurationParamsNormalizationPercentage AttackLayer3TimeseriesGroupDurationParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupDurationParamsNormalizationMin0Max AttackLayer3TimeseriesGroupDurationParamsNormalization = "MIN0_MAX"` - `Protocol param.Field[[]AttackLayer3TimeseriesGroupDurationParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TimeseriesGroupDurationParamsProtocolUdp AttackLayer3TimeseriesGroupDurationParamsProtocol = "UDP"` - `const AttackLayer3TimeseriesGroupDurationParamsProtocolTCP AttackLayer3TimeseriesGroupDurationParamsProtocol = "TCP"` - `const AttackLayer3TimeseriesGroupDurationParamsProtocolIcmp AttackLayer3TimeseriesGroupDurationParamsProtocol = "ICMP"` - `const AttackLayer3TimeseriesGroupDurationParamsProtocolGRE AttackLayer3TimeseriesGroupDurationParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TimeseriesGroupDurationResponse struct{…}` - `Meta AttackLayer3TimeseriesGroupDurationResponseMeta` Metadata for the results. - `AggInterval AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval` 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/). - `const AttackLayer3TimeseriesGroupDurationResponseMetaAggIntervalFifteenMinutes AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaAggIntervalOneHour AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaAggIntervalOneDay AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaAggIntervalOneWeek AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaAggIntervalOneMonth AttackLayer3TimeseriesGroupDurationResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TimeseriesGroupDurationResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TimeseriesGroupDurationResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TimeseriesGroupDurationResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationPercentage AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationMin0Max AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationMinMax AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationRawValues AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationPercentageChange AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationRollingAverage AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationOverlappedPercentage AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TimeseriesGroupDurationResponseMetaNormalizationRatio AttackLayer3TimeseriesGroupDurationResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TimeseriesGroupDurationResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer3TimeseriesGroupDurationResponseSerie0` - `OneHourToThreeHours []string` - `TenMinsToTwentyMins []string` - `TwentyMinsToFortyMins []string` - `FortyMinsToOneHour []string` - `Over3Hours []string` - `Timestamps []Time` - `Under10Mins []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.TimeseriesGroups.Duration(context.TODO(), radar.AttackLayer3TimeseriesGroupDurationParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "_1_HOUR_TO_3_HOURS": [ "10" ], "_10_MINS_TO_20_MINS": [ "10" ], "_20_MINS_TO_40_MINS": [ "10" ], "_40_MINS_TO_1_HOUR": [ "10" ], "OVER_3_HOURS": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ], "UNDER_10_MINS": [ "10" ] } }, "success": true } ``` # Top ## Get top layer 3 attack pairs (origin and target locations) `client.Radar.Attacks.Layer3.Top.Attacks(ctx, query) (*AttackLayer3TopAttacksResponse, error)` **get** `/radar/attacks/layer3/top/attacks` Retrieves the top layer 3 attacks from origin to target location. Values are a percentage out of the total layer 3 attacks (with billing country). You can optionally limit the number of attacks by origin/target location (useful if all the top attacks are from or to the same location). ### Parameters - `query AttackLayer3TopAttacksParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer3TopAttacksParamsFormat]` Format in which results will be returned. - `const AttackLayer3TopAttacksParamsFormatJson AttackLayer3TopAttacksParamsFormat = "JSON"` - `const AttackLayer3TopAttacksParamsFormatCsv AttackLayer3TopAttacksParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TopAttacksParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TopAttacksParamsIPVersionIPv4 AttackLayer3TopAttacksParamsIPVersion = "IPv4"` - `const AttackLayer3TopAttacksParamsIPVersionIPv6 AttackLayer3TopAttacksParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `LimitDirection param.Field[AttackLayer3TopAttacksParamsLimitDirection]` Specifies whether the `limitPerLocation` applies to the source or target location. - `const AttackLayer3TopAttacksParamsLimitDirectionOrigin AttackLayer3TopAttacksParamsLimitDirection = "ORIGIN"` - `const AttackLayer3TopAttacksParamsLimitDirectionTarget AttackLayer3TopAttacksParamsLimitDirection = "TARGET"` - `LimitPerLocation param.Field[int64]` Limits the number of attacks per origin/target (refer to `limitDirection` parameter) location. - `Location param.Field[[]string]` 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. - `Magnitude param.Field[AttackLayer3TopAttacksParamsMagnitude]` Orders results based on attack magnitude, defined by total mitigated bytes or total mitigated attacks. - `const AttackLayer3TopAttacksParamsMagnitudeMitigatedBytes AttackLayer3TopAttacksParamsMagnitude = "MITIGATED_BYTES"` - `const AttackLayer3TopAttacksParamsMagnitudeMitigatedAttacks AttackLayer3TopAttacksParamsMagnitude = "MITIGATED_ATTACKS"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer3TopAttacksParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopAttacksParamsNormalizationPercentage AttackLayer3TopAttacksParamsNormalization = "PERCENTAGE"` - `const AttackLayer3TopAttacksParamsNormalizationMinMax AttackLayer3TopAttacksParamsNormalization = "MIN_MAX"` - `Protocol param.Field[[]AttackLayer3TopAttacksParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TopAttacksParamsProtocolUdp AttackLayer3TopAttacksParamsProtocol = "UDP"` - `const AttackLayer3TopAttacksParamsProtocolTCP AttackLayer3TopAttacksParamsProtocol = "TCP"` - `const AttackLayer3TopAttacksParamsProtocolIcmp AttackLayer3TopAttacksParamsProtocol = "ICMP"` - `const AttackLayer3TopAttacksParamsProtocolGRE AttackLayer3TopAttacksParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TopAttacksResponse struct{…}` - `Meta AttackLayer3TopAttacksResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3TopAttacksResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TopAttacksResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TopAttacksResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopAttacksResponseMetaNormalizationPercentage AttackLayer3TopAttacksResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TopAttacksResponseMetaNormalizationMin0Max AttackLayer3TopAttacksResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TopAttacksResponseMetaNormalizationMinMax AttackLayer3TopAttacksResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TopAttacksResponseMetaNormalizationRawValues AttackLayer3TopAttacksResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TopAttacksResponseMetaNormalizationPercentageChange AttackLayer3TopAttacksResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TopAttacksResponseMetaNormalizationRollingAverage AttackLayer3TopAttacksResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TopAttacksResponseMetaNormalizationOverlappedPercentage AttackLayer3TopAttacksResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TopAttacksResponseMetaNormalizationRatio AttackLayer3TopAttacksResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TopAttacksResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer3TopAttacksResponseTop0` - `OriginCountryAlpha2 string` - `OriginCountryName string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Top.Attacks(context.TODO(), radar.AttackLayer3TopAttacksParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "originCountryAlpha2": "FR", "originCountryName": "France", "value": "4.323214" } ] }, "success": true } ``` ## Get top industries targeted by layer 3 attacks `client.Radar.Attacks.Layer3.Top.Industry(ctx, query) (*AttackLayer3TopIndustryResponse, error)` **get** `/radar/attacks/layer3/top/industry` This endpoint is deprecated. To continue getting this data, switch to the summary by industry endpoint. ### Parameters - `query AttackLayer3TopIndustryParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer3TopIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer3TopIndustryParamsFormatJson AttackLayer3TopIndustryParamsFormat = "JSON"` - `const AttackLayer3TopIndustryParamsFormatCsv AttackLayer3TopIndustryParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TopIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TopIndustryParamsIPVersionIPv4 AttackLayer3TopIndustryParamsIPVersion = "IPv4"` - `const AttackLayer3TopIndustryParamsIPVersionIPv6 AttackLayer3TopIndustryParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3TopIndustryParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TopIndustryParamsProtocolUdp AttackLayer3TopIndustryParamsProtocol = "UDP"` - `const AttackLayer3TopIndustryParamsProtocolTCP AttackLayer3TopIndustryParamsProtocol = "TCP"` - `const AttackLayer3TopIndustryParamsProtocolIcmp AttackLayer3TopIndustryParamsProtocol = "ICMP"` - `const AttackLayer3TopIndustryParamsProtocolGRE AttackLayer3TopIndustryParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TopIndustryResponse struct{…}` - `Meta AttackLayer3TopIndustryResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3TopIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TopIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TopIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopIndustryResponseMetaNormalizationPercentage AttackLayer3TopIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TopIndustryResponseMetaNormalizationMin0Max AttackLayer3TopIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TopIndustryResponseMetaNormalizationMinMax AttackLayer3TopIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TopIndustryResponseMetaNormalizationRawValues AttackLayer3TopIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TopIndustryResponseMetaNormalizationPercentageChange AttackLayer3TopIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TopIndustryResponseMetaNormalizationRollingAverage AttackLayer3TopIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TopIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer3TopIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TopIndustryResponseMetaNormalizationRatio AttackLayer3TopIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TopIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer3TopIndustryResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Top.Industry(context.TODO(), radar.AttackLayer3TopIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "Computer Software", "value": "65" } ] }, "success": true } ``` ## Get top verticals targeted by layer 3 attacks `client.Radar.Attacks.Layer3.Top.Vertical(ctx, query) (*AttackLayer3TopVerticalResponse, error)` **get** `/radar/attacks/layer3/top/vertical` This endpoint is deprecated. To continue getting this data, switch to the summary by vertical endpoint. ### Parameters - `query AttackLayer3TopVerticalParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer3TopVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer3TopVerticalParamsFormatJson AttackLayer3TopVerticalParamsFormat = "JSON"` - `const AttackLayer3TopVerticalParamsFormatCsv AttackLayer3TopVerticalParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TopVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TopVerticalParamsIPVersionIPv4 AttackLayer3TopVerticalParamsIPVersion = "IPv4"` - `const AttackLayer3TopVerticalParamsIPVersionIPv6 AttackLayer3TopVerticalParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3TopVerticalParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TopVerticalParamsProtocolUdp AttackLayer3TopVerticalParamsProtocol = "UDP"` - `const AttackLayer3TopVerticalParamsProtocolTCP AttackLayer3TopVerticalParamsProtocol = "TCP"` - `const AttackLayer3TopVerticalParamsProtocolIcmp AttackLayer3TopVerticalParamsProtocol = "ICMP"` - `const AttackLayer3TopVerticalParamsProtocolGRE AttackLayer3TopVerticalParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TopVerticalResponse struct{…}` - `Meta AttackLayer3TopVerticalResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3TopVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TopVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TopVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopVerticalResponseMetaNormalizationPercentage AttackLayer3TopVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TopVerticalResponseMetaNormalizationMin0Max AttackLayer3TopVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TopVerticalResponseMetaNormalizationMinMax AttackLayer3TopVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TopVerticalResponseMetaNormalizationRawValues AttackLayer3TopVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TopVerticalResponseMetaNormalizationPercentageChange AttackLayer3TopVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TopVerticalResponseMetaNormalizationRollingAverage AttackLayer3TopVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TopVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer3TopVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TopVerticalResponseMetaNormalizationRatio AttackLayer3TopVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TopVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer3TopVerticalResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Top.Vertical(context.TODO(), radar.AttackLayer3TopVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "Internet and Telecom", "value": "65" } ] }, "success": true } ``` # Locations ## Get top origin locations of layer 3 attacks `client.Radar.Attacks.Layer3.Top.Locations.Origin(ctx, query) (*AttackLayer3TopLocationOriginResponse, error)` **get** `/radar/attacks/layer3/top/locations/origin` Retrieves the origin locations of layer 3 attacks. ### Parameters - `query AttackLayer3TopLocationOriginParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer3TopLocationOriginParamsFormat]` Format in which results will be returned. - `const AttackLayer3TopLocationOriginParamsFormatJson AttackLayer3TopLocationOriginParamsFormat = "JSON"` - `const AttackLayer3TopLocationOriginParamsFormatCsv AttackLayer3TopLocationOriginParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TopLocationOriginParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TopLocationOriginParamsIPVersionIPv4 AttackLayer3TopLocationOriginParamsIPVersion = "IPv4"` - `const AttackLayer3TopLocationOriginParamsIPVersionIPv6 AttackLayer3TopLocationOriginParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3TopLocationOriginParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TopLocationOriginParamsProtocolUdp AttackLayer3TopLocationOriginParamsProtocol = "UDP"` - `const AttackLayer3TopLocationOriginParamsProtocolTCP AttackLayer3TopLocationOriginParamsProtocol = "TCP"` - `const AttackLayer3TopLocationOriginParamsProtocolIcmp AttackLayer3TopLocationOriginParamsProtocol = "ICMP"` - `const AttackLayer3TopLocationOriginParamsProtocolGRE AttackLayer3TopLocationOriginParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TopLocationOriginResponse struct{…}` - `Meta AttackLayer3TopLocationOriginResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3TopLocationOriginResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TopLocationOriginResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TopLocationOriginResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopLocationOriginResponseMetaNormalizationPercentage AttackLayer3TopLocationOriginResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationMin0Max AttackLayer3TopLocationOriginResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationMinMax AttackLayer3TopLocationOriginResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationRawValues AttackLayer3TopLocationOriginResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationPercentageChange AttackLayer3TopLocationOriginResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationRollingAverage AttackLayer3TopLocationOriginResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationOverlappedPercentage AttackLayer3TopLocationOriginResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TopLocationOriginResponseMetaNormalizationRatio AttackLayer3TopLocationOriginResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TopLocationOriginResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer3TopLocationOriginResponseTop0` - `OriginCountryAlpha2 string` - `OriginCountryName string` - `Rank float64` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Top.Locations.Origin(context.TODO(), radar.AttackLayer3TopLocationOriginParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "originCountryAlpha2": "FR", "originCountryName": "France", "rank": 1, "value": "4.323214" } ] }, "success": true } ``` ## Get top target locations of layer 3 attacks `client.Radar.Attacks.Layer3.Top.Locations.Target(ctx, query) (*AttackLayer3TopLocationTargetResponse, error)` **get** `/radar/attacks/layer3/top/locations/target` Retrieves the target locations of layer 3 attacks. ### Parameters - `query AttackLayer3TopLocationTargetParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer3TopLocationTargetParamsFormat]` Format in which results will be returned. - `const AttackLayer3TopLocationTargetParamsFormatJson AttackLayer3TopLocationTargetParamsFormat = "JSON"` - `const AttackLayer3TopLocationTargetParamsFormatCsv AttackLayer3TopLocationTargetParamsFormat = "CSV"` - `IPVersion param.Field[[]AttackLayer3TopLocationTargetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer3TopLocationTargetParamsIPVersionIPv4 AttackLayer3TopLocationTargetParamsIPVersion = "IPv4"` - `const AttackLayer3TopLocationTargetParamsIPVersionIPv6 AttackLayer3TopLocationTargetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Protocol param.Field[[]AttackLayer3TopLocationTargetParamsProtocol]` Filters the results by layer 3/4 protocol. - `const AttackLayer3TopLocationTargetParamsProtocolUdp AttackLayer3TopLocationTargetParamsProtocol = "UDP"` - `const AttackLayer3TopLocationTargetParamsProtocolTCP AttackLayer3TopLocationTargetParamsProtocol = "TCP"` - `const AttackLayer3TopLocationTargetParamsProtocolIcmp AttackLayer3TopLocationTargetParamsProtocol = "ICMP"` - `const AttackLayer3TopLocationTargetParamsProtocolGRE AttackLayer3TopLocationTargetParamsProtocol = "GRE"` ### Returns - `type AttackLayer3TopLocationTargetResponse struct{…}` - `Meta AttackLayer3TopLocationTargetResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer3TopLocationTargetResponseMetaConfidenceInfo` - `Annotations []AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer3TopLocationTargetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer3TopLocationTargetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer3TopLocationTargetResponseMetaNormalizationPercentage AttackLayer3TopLocationTargetResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationMin0Max AttackLayer3TopLocationTargetResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationMinMax AttackLayer3TopLocationTargetResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationRawValues AttackLayer3TopLocationTargetResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationPercentageChange AttackLayer3TopLocationTargetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationRollingAverage AttackLayer3TopLocationTargetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationOverlappedPercentage AttackLayer3TopLocationTargetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer3TopLocationTargetResponseMetaNormalizationRatio AttackLayer3TopLocationTargetResponseMetaNormalization = "RATIO"` - `Units []AttackLayer3TopLocationTargetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer3TopLocationTargetResponseTop0` - `Rank float64` - `TargetCountryAlpha2 string` - `TargetCountryName string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer3.Top.Locations.Target(context.TODO(), radar.AttackLayer3TopLocationTargetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "rank": 1, "targetCountryAlpha2": "FR", "targetCountryName": "France", "value": "4.323214" } ] }, "success": true } ``` # Layer7 ## Get layer 7 attacks summary by dimension `client.Radar.Attacks.Layer7.SummaryV2(ctx, dimension, query) (*AttackLayer7SummaryV2Response, error)` **get** `/radar/attacks/layer7/summary/{dimension}` Retrieves the distribution of layer 7 attacks by the specified dimension. ### Parameters - `dimension AttackLayer7SummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const AttackLayer7SummaryV2ParamsDimensionHTTPMethod AttackLayer7SummaryV2ParamsDimension = "HTTP_METHOD"` - `const AttackLayer7SummaryV2ParamsDimensionHTTPVersion AttackLayer7SummaryV2ParamsDimension = "HTTP_VERSION"` - `const AttackLayer7SummaryV2ParamsDimensionIPVersion AttackLayer7SummaryV2ParamsDimension = "IP_VERSION"` - `const AttackLayer7SummaryV2ParamsDimensionManagedRules AttackLayer7SummaryV2ParamsDimension = "MANAGED_RULES"` - `const AttackLayer7SummaryV2ParamsDimensionMitigationProduct AttackLayer7SummaryV2ParamsDimension = "MITIGATION_PRODUCT"` - `const AttackLayer7SummaryV2ParamsDimensionVertical AttackLayer7SummaryV2ParamsDimension = "VERTICAL"` - `const AttackLayer7SummaryV2ParamsDimensionIndustry AttackLayer7SummaryV2ParamsDimension = "INDUSTRY"` - `query AttackLayer7SummaryV2Params` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryV2ParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryV2ParamsFormatJson AttackLayer7SummaryV2ParamsFormat = "JSON"` - `const AttackLayer7SummaryV2ParamsFormatCsv AttackLayer7SummaryV2ParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryV2ParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryV2ParamsHTTPMethodGet AttackLayer7SummaryV2ParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPost AttackLayer7SummaryV2ParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryV2ParamsHTTPMethodDelete AttackLayer7SummaryV2ParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPut AttackLayer7SummaryV2ParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryV2ParamsHTTPMethodHead AttackLayer7SummaryV2ParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPurge AttackLayer7SummaryV2ParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodOptions AttackLayer7SummaryV2ParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPropfind AttackLayer7SummaryV2ParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryV2ParamsHTTPMethodMkcol AttackLayer7SummaryV2ParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPatch AttackLayer7SummaryV2ParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryV2ParamsHTTPMethodACL AttackLayer7SummaryV2ParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBcopy AttackLayer7SummaryV2ParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBdelete AttackLayer7SummaryV2ParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBmove AttackLayer7SummaryV2ParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBpropfind AttackLayer7SummaryV2ParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBproppatch AttackLayer7SummaryV2ParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryV2ParamsHTTPMethodCheckin AttackLayer7SummaryV2ParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryV2ParamsHTTPMethodCheckout AttackLayer7SummaryV2ParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryV2ParamsHTTPMethodConnect AttackLayer7SummaryV2ParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryV2ParamsHTTPMethodCopy AttackLayer7SummaryV2ParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryV2ParamsHTTPMethodLabel AttackLayer7SummaryV2ParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodLock AttackLayer7SummaryV2ParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryV2ParamsHTTPMethodMerge AttackLayer7SummaryV2ParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodMkactivity AttackLayer7SummaryV2ParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryV2ParamsHTTPMethodMkworkspace AttackLayer7SummaryV2ParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodMove AttackLayer7SummaryV2ParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodNotify AttackLayer7SummaryV2ParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryV2ParamsHTTPMethodOrderpatch AttackLayer7SummaryV2ParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryV2ParamsHTTPMethodPoll AttackLayer7SummaryV2ParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodProppatch AttackLayer7SummaryV2ParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryV2ParamsHTTPMethodReport AttackLayer7SummaryV2ParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryV2ParamsHTTPMethodSearch AttackLayer7SummaryV2ParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryV2ParamsHTTPMethodSubscribe AttackLayer7SummaryV2ParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodTrace AttackLayer7SummaryV2ParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodUncheckout AttackLayer7SummaryV2ParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryV2ParamsHTTPMethodUnlock AttackLayer7SummaryV2ParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryV2ParamsHTTPMethodUnsubscribe AttackLayer7SummaryV2ParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodUpdate AttackLayer7SummaryV2ParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryV2ParamsHTTPMethodVersioncontrol AttackLayer7SummaryV2ParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodBaselinecontrol AttackLayer7SummaryV2ParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryV2ParamsHTTPMethodXmsenumatts AttackLayer7SummaryV2ParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryV2ParamsHTTPMethodRpcOutData AttackLayer7SummaryV2ParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryV2ParamsHTTPMethodRpcInData AttackLayer7SummaryV2ParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryV2ParamsHTTPMethodJson AttackLayer7SummaryV2ParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryV2ParamsHTTPMethodCook AttackLayer7SummaryV2ParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryV2ParamsHTTPMethodTrack AttackLayer7SummaryV2ParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryV2ParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryV2ParamsHTTPVersionHttPv1 AttackLayer7SummaryV2ParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryV2ParamsHTTPVersionHttPv2 AttackLayer7SummaryV2ParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryV2ParamsHTTPVersionHttPv3 AttackLayer7SummaryV2ParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryV2ParamsIPVersionIPv4 AttackLayer7SummaryV2ParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryV2ParamsIPVersionIPv6 AttackLayer7SummaryV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryV2ParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryV2ParamsMitigationProductDDoS AttackLayer7SummaryV2ParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryV2ParamsMitigationProductWAF AttackLayer7SummaryV2ParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryV2ParamsMitigationProductBotManagement AttackLayer7SummaryV2ParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryV2ParamsMitigationProductAccessRules AttackLayer7SummaryV2ParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryV2ParamsMitigationProductIPReputation AttackLayer7SummaryV2ParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryV2ParamsMitigationProductAPIShield AttackLayer7SummaryV2ParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryV2ParamsMitigationProductDataLossPrevention AttackLayer7SummaryV2ParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryV2Response struct{…}` - `Meta AttackLayer7SummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryV2ResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryV2ResponseMetaNormalizationPercentage AttackLayer7SummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationMin0Max AttackLayer7SummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationMinMax AttackLayer7SummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationRawValues AttackLayer7SummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationPercentageChange AttackLayer7SummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationRollingAverage AttackLayer7SummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryV2ResponseMetaNormalizationRatio AttackLayer7SummaryV2ResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.SummaryV2( context.TODO(), radar.AttackLayer7SummaryV2ParamsDimensionHTTPMethod, radar.AttackLayer7SummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "GET": "50.168733", "POST": "25.084366" } }, "success": true } ``` ## Get layer 7 attacks time series `client.Radar.Attacks.Layer7.Timeseries(ctx, query) (*AttackLayer7TimeseriesResponse, error)` **get** `/radar/attacks/layer7/timeseries` Retrieves layer 7 attacks over time. ### Parameters - `query AttackLayer7TimeseriesParams` - `AggInterval param.Field[AttackLayer7TimeseriesParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesParamsAggInterval15m AttackLayer7TimeseriesParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesParamsAggInterval1h AttackLayer7TimeseriesParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesParamsAggInterval1d AttackLayer7TimeseriesParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesParamsAggInterval1w AttackLayer7TimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesParamsFormatJson AttackLayer7TimeseriesParamsFormat = "JSON"` - `const AttackLayer7TimeseriesParamsFormatCsv AttackLayer7TimeseriesParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesParamsHTTPMethodGet AttackLayer7TimeseriesParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesParamsHTTPMethodPost AttackLayer7TimeseriesParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesParamsHTTPMethodDelete AttackLayer7TimeseriesParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesParamsHTTPMethodPut AttackLayer7TimeseriesParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesParamsHTTPMethodHead AttackLayer7TimeseriesParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesParamsHTTPMethodPurge AttackLayer7TimeseriesParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesParamsHTTPMethodOptions AttackLayer7TimeseriesParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesParamsHTTPMethodPropfind AttackLayer7TimeseriesParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesParamsHTTPMethodMkcol AttackLayer7TimeseriesParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesParamsHTTPMethodPatch AttackLayer7TimeseriesParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesParamsHTTPMethodACL AttackLayer7TimeseriesParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesParamsHTTPMethodBcopy AttackLayer7TimeseriesParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesParamsHTTPMethodBdelete AttackLayer7TimeseriesParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesParamsHTTPMethodBmove AttackLayer7TimeseriesParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesParamsHTTPMethodBpropfind AttackLayer7TimeseriesParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesParamsHTTPMethodBproppatch AttackLayer7TimeseriesParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesParamsHTTPMethodCheckin AttackLayer7TimeseriesParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesParamsHTTPMethodCheckout AttackLayer7TimeseriesParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesParamsHTTPMethodConnect AttackLayer7TimeseriesParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesParamsHTTPMethodCopy AttackLayer7TimeseriesParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesParamsHTTPMethodLabel AttackLayer7TimeseriesParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesParamsHTTPMethodLock AttackLayer7TimeseriesParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesParamsHTTPMethodMerge AttackLayer7TimeseriesParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesParamsHTTPMethodMkactivity AttackLayer7TimeseriesParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesParamsHTTPMethodMkworkspace AttackLayer7TimeseriesParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesParamsHTTPMethodMove AttackLayer7TimeseriesParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesParamsHTTPMethodNotify AttackLayer7TimeseriesParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesParamsHTTPMethodOrderpatch AttackLayer7TimeseriesParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesParamsHTTPMethodPoll AttackLayer7TimeseriesParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesParamsHTTPMethodProppatch AttackLayer7TimeseriesParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesParamsHTTPMethodReport AttackLayer7TimeseriesParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesParamsHTTPMethodSearch AttackLayer7TimeseriesParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesParamsHTTPMethodSubscribe AttackLayer7TimeseriesParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesParamsHTTPMethodTrace AttackLayer7TimeseriesParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesParamsHTTPMethodUncheckout AttackLayer7TimeseriesParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesParamsHTTPMethodUnlock AttackLayer7TimeseriesParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesParamsHTTPMethodUpdate AttackLayer7TimeseriesParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesParamsHTTPMethodRpcOutData AttackLayer7TimeseriesParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesParamsHTTPMethodRpcInData AttackLayer7TimeseriesParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesParamsHTTPMethodJson AttackLayer7TimeseriesParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesParamsHTTPMethodCook AttackLayer7TimeseriesParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesParamsHTTPMethodTrack AttackLayer7TimeseriesParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesParamsHTTPVersionHttPv1 AttackLayer7TimeseriesParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesParamsHTTPVersionHttPv2 AttackLayer7TimeseriesParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesParamsHTTPVersionHttPv3 AttackLayer7TimeseriesParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesParamsIPVersionIPv4 AttackLayer7TimeseriesParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesParamsIPVersionIPv6 AttackLayer7TimeseriesParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesParamsMitigationProductDDoS AttackLayer7TimeseriesParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesParamsMitigationProductWAF AttackLayer7TimeseriesParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesParamsMitigationProductBotManagement AttackLayer7TimeseriesParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesParamsMitigationProductAccessRules AttackLayer7TimeseriesParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesParamsMitigationProductIPReputation AttackLayer7TimeseriesParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesParamsMitigationProductAPIShield AttackLayer7TimeseriesParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesParamsNormalizationPercentageChange AttackLayer7TimeseriesParamsNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesParamsNormalizationMin0Max AttackLayer7TimeseriesParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesResponse struct{…}` - `Meta AttackLayer7TimeseriesResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesResponseMetaAggIntervalOneHour AttackLayer7TimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesResponseMetaAggIntervalOneDay AttackLayer7TimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesResponseMetaNormalizationPercentage AttackLayer7TimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesResponseMetaNormalizationMin0Max AttackLayer7TimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesResponseMetaNormalizationMinMax AttackLayer7TimeseriesResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesResponseMetaNormalizationRawValues AttackLayer7TimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesResponseMetaNormalizationRatio AttackLayer7TimeseriesResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesResponseSerie0` - `Timestamps []Time` - `Values []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Timeseries(context.TODO(), radar.AttackLayer7TimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ "2019-12-27T18:11:19.117Z" ], "values": [ "10" ] } }, "success": true } ``` ## Get layer 7 attacks time series grouped by dimension `client.Radar.Attacks.Layer7.TimeseriesGroupsV2(ctx, dimension, query) (*AttackLayer7TimeseriesGroupsV2Response, error)` **get** `/radar/attacks/layer7/timeseries_groups/{dimension}` Retrieves the distribution of layer 7 attacks grouped by dimension over time. ### Parameters - `dimension AttackLayer7TimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionHTTPMethod AttackLayer7TimeseriesGroupsV2ParamsDimension = "HTTP_METHOD"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionHTTPVersion AttackLayer7TimeseriesGroupsV2ParamsDimension = "HTTP_VERSION"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionIPVersion AttackLayer7TimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionManagedRules AttackLayer7TimeseriesGroupsV2ParamsDimension = "MANAGED_RULES"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionMitigationProduct AttackLayer7TimeseriesGroupsV2ParamsDimension = "MITIGATION_PRODUCT"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionVertical AttackLayer7TimeseriesGroupsV2ParamsDimension = "VERTICAL"` - `const AttackLayer7TimeseriesGroupsV2ParamsDimensionIndustry AttackLayer7TimeseriesGroupsV2ParamsDimension = "INDUSTRY"` - `query AttackLayer7TimeseriesGroupsV2Params` - `AggInterval param.Field[AttackLayer7TimeseriesGroupsV2ParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupsV2ParamsAggInterval15m AttackLayer7TimeseriesGroupsV2ParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupsV2ParamsAggInterval1h AttackLayer7TimeseriesGroupsV2ParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupsV2ParamsAggInterval1d AttackLayer7TimeseriesGroupsV2ParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupsV2ParamsAggInterval1w AttackLayer7TimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupsV2ParamsFormatJson AttackLayer7TimeseriesGroupsV2ParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupsV2ParamsFormatCsv AttackLayer7TimeseriesGroupsV2ParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodGet AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPost AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodDelete AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPut AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodHead AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPurge AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodOptions AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPatch AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodACL AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBmove AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodConnect AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodCopy AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodLabel AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodLock AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodMerge AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodMove AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodNotify AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodPoll AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodReport AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodSearch AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodTrace AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodJson AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodCook AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPMethodTrack AttackLayer7TimeseriesGroupsV2ParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupsV2ParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupsV2ParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupsV2ParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupsV2ParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupsV2ParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupsV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupsV2ParamsIPVersionIPv4 AttackLayer7TimeseriesGroupsV2ParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupsV2ParamsIPVersionIPv6 AttackLayer7TimeseriesGroupsV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductDDoS AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductWAF AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupsV2ParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupsV2ParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupsV2ParamsNormalizationPercentage AttackLayer7TimeseriesGroupsV2ParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupsV2ParamsNormalizationMin0Max AttackLayer7TimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupsV2Response struct{…}` - `Meta AttackLayer7TimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupsV2ResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroupsV2( context.TODO(), radar.AttackLayer7TimeseriesGroupsV2ParamsDimensionHTTPMethod, radar.AttackLayer7TimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get layer 7 attacks by IP version summary `client.Radar.Attacks.Layer7.Summary.IPVersion(ctx, query) (*AttackLayer7SummaryIPVersionResponse, error)` **get** `/radar/attacks/layer7/summary/ip_version` Retrieves the distribution of layer 7 attacks by IP version. ### Parameters - `query AttackLayer7SummaryIPVersionParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryIPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryIPVersionParamsFormatJson AttackLayer7SummaryIPVersionParamsFormat = "JSON"` - `const AttackLayer7SummaryIPVersionParamsFormatCsv AttackLayer7SummaryIPVersionParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryIPVersionParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryIPVersionParamsHTTPMethodGet AttackLayer7SummaryIPVersionParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPost AttackLayer7SummaryIPVersionParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodDelete AttackLayer7SummaryIPVersionParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPut AttackLayer7SummaryIPVersionParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodHead AttackLayer7SummaryIPVersionParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPurge AttackLayer7SummaryIPVersionParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodOptions AttackLayer7SummaryIPVersionParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPropfind AttackLayer7SummaryIPVersionParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodMkcol AttackLayer7SummaryIPVersionParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPatch AttackLayer7SummaryIPVersionParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodACL AttackLayer7SummaryIPVersionParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBcopy AttackLayer7SummaryIPVersionParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBdelete AttackLayer7SummaryIPVersionParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBmove AttackLayer7SummaryIPVersionParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBpropfind AttackLayer7SummaryIPVersionParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBproppatch AttackLayer7SummaryIPVersionParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodCheckin AttackLayer7SummaryIPVersionParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodCheckout AttackLayer7SummaryIPVersionParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodConnect AttackLayer7SummaryIPVersionParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodCopy AttackLayer7SummaryIPVersionParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodLabel AttackLayer7SummaryIPVersionParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodLock AttackLayer7SummaryIPVersionParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodMerge AttackLayer7SummaryIPVersionParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodMkactivity AttackLayer7SummaryIPVersionParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodMkworkspace AttackLayer7SummaryIPVersionParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodMove AttackLayer7SummaryIPVersionParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodNotify AttackLayer7SummaryIPVersionParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodOrderpatch AttackLayer7SummaryIPVersionParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodPoll AttackLayer7SummaryIPVersionParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodProppatch AttackLayer7SummaryIPVersionParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodReport AttackLayer7SummaryIPVersionParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodSearch AttackLayer7SummaryIPVersionParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodSubscribe AttackLayer7SummaryIPVersionParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodTrace AttackLayer7SummaryIPVersionParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodUncheckout AttackLayer7SummaryIPVersionParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodUnlock AttackLayer7SummaryIPVersionParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodUnsubscribe AttackLayer7SummaryIPVersionParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodUpdate AttackLayer7SummaryIPVersionParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodVersioncontrol AttackLayer7SummaryIPVersionParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodBaselinecontrol AttackLayer7SummaryIPVersionParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodXmsenumatts AttackLayer7SummaryIPVersionParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodRpcOutData AttackLayer7SummaryIPVersionParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodRpcInData AttackLayer7SummaryIPVersionParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodJson AttackLayer7SummaryIPVersionParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodCook AttackLayer7SummaryIPVersionParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryIPVersionParamsHTTPMethodTrack AttackLayer7SummaryIPVersionParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryIPVersionParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryIPVersionParamsHTTPVersionHttPv1 AttackLayer7SummaryIPVersionParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryIPVersionParamsHTTPVersionHttPv2 AttackLayer7SummaryIPVersionParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryIPVersionParamsHTTPVersionHttPv3 AttackLayer7SummaryIPVersionParamsHTTPVersion = "HTTPv3"` - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryIPVersionParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryIPVersionParamsMitigationProductDDoS AttackLayer7SummaryIPVersionParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductWAF AttackLayer7SummaryIPVersionParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductBotManagement AttackLayer7SummaryIPVersionParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductAccessRules AttackLayer7SummaryIPVersionParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductIPReputation AttackLayer7SummaryIPVersionParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductAPIShield AttackLayer7SummaryIPVersionParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryIPVersionParamsMitigationProductDataLossPrevention AttackLayer7SummaryIPVersionParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryIPVersionResponse struct{…}` - `Meta AttackLayer7SummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationPercentage AttackLayer7SummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationMin0Max AttackLayer7SummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationMinMax AttackLayer7SummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationRawValues AttackLayer7SummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationPercentageChange AttackLayer7SummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationRollingAverage AttackLayer7SummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryIPVersionResponseMetaNormalizationRatio AttackLayer7SummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer7SummaryIPVersionResponseSummary0` - `IPv4 string` - `IPv6 string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.IPVersion(context.TODO(), radar.AttackLayer7SummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": "99.935733", "IPv6": "0.064267" } }, "success": true } ``` ## Get layer 7 attacks by HTTP method summary `client.Radar.Attacks.Layer7.Summary.HTTPMethod(ctx, query) (*AttackLayer7SummaryHTTPMethodResponse, error)` **get** `/radar/attacks/layer7/summary/http_method` Retrieves the distribution of layer 7 attacks by HTTP method. ### Parameters - `query AttackLayer7SummaryHTTPMethodParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryHTTPMethodParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryHTTPMethodParamsFormatJson AttackLayer7SummaryHTTPMethodParamsFormat = "JSON"` - `const AttackLayer7SummaryHTTPMethodParamsFormatCsv AttackLayer7SummaryHTTPMethodParamsFormat = "CSV"` - `HTTPVersion param.Field[[]AttackLayer7SummaryHTTPMethodParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryHTTPMethodParamsHTTPVersionHttPv1 AttackLayer7SummaryHTTPMethodParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryHTTPMethodParamsHTTPVersionHttPv2 AttackLayer7SummaryHTTPMethodParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryHTTPMethodParamsHTTPVersionHttPv3 AttackLayer7SummaryHTTPMethodParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryHTTPMethodParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryHTTPMethodParamsIPVersionIPv4 AttackLayer7SummaryHTTPMethodParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryHTTPMethodParamsIPVersionIPv6 AttackLayer7SummaryHTTPMethodParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryHTTPMethodParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductDDoS AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductWAF AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductBotManagement AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductAccessRules AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductIPReputation AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductAPIShield AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryHTTPMethodParamsMitigationProductDataLossPrevention AttackLayer7SummaryHTTPMethodParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryHTTPMethodResponse struct{…}` - `Meta AttackLayer7SummaryHTTPMethodResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryHTTPMethodResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryHTTPMethodResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationPercentage AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationMin0Max AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationMinMax AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationRawValues AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationPercentageChange AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationRollingAverage AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryHTTPMethodResponseMetaNormalizationRatio AttackLayer7SummaryHTTPMethodResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryHTTPMethodResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.HTTPMethod(context.TODO(), radar.AttackLayer7SummaryHTTPMethodParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "GET": "99.100257", "POST": "0.899743" } }, "success": true } ``` ## Get layer 7 attacks by HTTP version summary `client.Radar.Attacks.Layer7.Summary.HTTPVersion(ctx, query) (*AttackLayer7SummaryHTTPVersionResponse, error)` **get** `/radar/attacks/layer7/summary/http_version` Retrieves the distribution of layer 7 attacks by HTTP version. ### Parameters - `query AttackLayer7SummaryHTTPVersionParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryHTTPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryHTTPVersionParamsFormatJson AttackLayer7SummaryHTTPVersionParamsFormat = "JSON"` - `const AttackLayer7SummaryHTTPVersionParamsFormatCsv AttackLayer7SummaryHTTPVersionParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryHTTPVersionParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodGet AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPost AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodDelete AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPut AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodHead AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPurge AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodOptions AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPropfind AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodMkcol AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPatch AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodACL AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBcopy AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBdelete AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBmove AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBpropfind AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBproppatch AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodCheckin AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodCheckout AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodConnect AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodCopy AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodLabel AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodLock AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodMerge AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodMkactivity AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodMkworkspace AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodMove AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodNotify AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodOrderpatch AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodPoll AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodProppatch AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodReport AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodSearch AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodSubscribe AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodTrace AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodUncheckout AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodUnlock AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodUnsubscribe AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodUpdate AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodVersioncontrol AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodBaselinecontrol AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodXmsenumatts AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodRpcOutData AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodRpcInData AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodJson AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodCook AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryHTTPVersionParamsHTTPMethodTrack AttackLayer7SummaryHTTPVersionParamsHTTPMethod = "TRACK"` - `IPVersion param.Field[[]AttackLayer7SummaryHTTPVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryHTTPVersionParamsIPVersionIPv4 AttackLayer7SummaryHTTPVersionParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryHTTPVersionParamsIPVersionIPv6 AttackLayer7SummaryHTTPVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryHTTPVersionParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductDDoS AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductWAF AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductBotManagement AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductAccessRules AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductIPReputation AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductAPIShield AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryHTTPVersionParamsMitigationProductDataLossPrevention AttackLayer7SummaryHTTPVersionParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryHTTPVersionResponse struct{…}` - `Meta AttackLayer7SummaryHTTPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryHTTPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryHTTPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationPercentage AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationMin0Max AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationMinMax AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationRawValues AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationPercentageChange AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationRollingAverage AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryHTTPVersionResponseMetaNormalizationRatio AttackLayer7SummaryHTTPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryHTTPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 AttackLayer7SummaryHTTPVersionResponseSummary0` - `HTTP1X string` - `HTTP2 string` - `HTTP3 string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.HTTPVersion(context.TODO(), radar.AttackLayer7SummaryHTTPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP/1.x": "21.722365", "HTTP/2": "77.056555", "HTTP/3": "1.22108" } }, "success": true } ``` ## Get layer 7 attacks by managed rules summary `client.Radar.Attacks.Layer7.Summary.ManagedRules(ctx, query) (*AttackLayer7SummaryManagedRulesResponse, error)` **get** `/radar/attacks/layer7/summary/managed_rules` Retrieves the distribution of layer 7 attacks by managed rules. ### Parameters - `query AttackLayer7SummaryManagedRulesParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryManagedRulesParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryManagedRulesParamsFormatJson AttackLayer7SummaryManagedRulesParamsFormat = "JSON"` - `const AttackLayer7SummaryManagedRulesParamsFormatCsv AttackLayer7SummaryManagedRulesParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryManagedRulesParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodGet AttackLayer7SummaryManagedRulesParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPost AttackLayer7SummaryManagedRulesParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodDelete AttackLayer7SummaryManagedRulesParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPut AttackLayer7SummaryManagedRulesParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodHead AttackLayer7SummaryManagedRulesParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPurge AttackLayer7SummaryManagedRulesParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodOptions AttackLayer7SummaryManagedRulesParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPropfind AttackLayer7SummaryManagedRulesParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodMkcol AttackLayer7SummaryManagedRulesParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPatch AttackLayer7SummaryManagedRulesParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodACL AttackLayer7SummaryManagedRulesParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBcopy AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBdelete AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBmove AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBpropfind AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBproppatch AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodCheckin AttackLayer7SummaryManagedRulesParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodCheckout AttackLayer7SummaryManagedRulesParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodConnect AttackLayer7SummaryManagedRulesParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodCopy AttackLayer7SummaryManagedRulesParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodLabel AttackLayer7SummaryManagedRulesParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodLock AttackLayer7SummaryManagedRulesParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodMerge AttackLayer7SummaryManagedRulesParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodMkactivity AttackLayer7SummaryManagedRulesParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodMkworkspace AttackLayer7SummaryManagedRulesParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodMove AttackLayer7SummaryManagedRulesParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodNotify AttackLayer7SummaryManagedRulesParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodOrderpatch AttackLayer7SummaryManagedRulesParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodPoll AttackLayer7SummaryManagedRulesParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodProppatch AttackLayer7SummaryManagedRulesParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodReport AttackLayer7SummaryManagedRulesParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodSearch AttackLayer7SummaryManagedRulesParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodSubscribe AttackLayer7SummaryManagedRulesParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodTrace AttackLayer7SummaryManagedRulesParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodUncheckout AttackLayer7SummaryManagedRulesParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodUnlock AttackLayer7SummaryManagedRulesParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodUnsubscribe AttackLayer7SummaryManagedRulesParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodUpdate AttackLayer7SummaryManagedRulesParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodVersioncontrol AttackLayer7SummaryManagedRulesParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodBaselinecontrol AttackLayer7SummaryManagedRulesParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodXmsenumatts AttackLayer7SummaryManagedRulesParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodRpcOutData AttackLayer7SummaryManagedRulesParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodRpcInData AttackLayer7SummaryManagedRulesParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodJson AttackLayer7SummaryManagedRulesParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodCook AttackLayer7SummaryManagedRulesParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryManagedRulesParamsHTTPMethodTrack AttackLayer7SummaryManagedRulesParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryManagedRulesParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryManagedRulesParamsHTTPVersionHttPv1 AttackLayer7SummaryManagedRulesParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryManagedRulesParamsHTTPVersionHttPv2 AttackLayer7SummaryManagedRulesParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryManagedRulesParamsHTTPVersionHttPv3 AttackLayer7SummaryManagedRulesParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryManagedRulesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryManagedRulesParamsIPVersionIPv4 AttackLayer7SummaryManagedRulesParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryManagedRulesParamsIPVersionIPv6 AttackLayer7SummaryManagedRulesParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryManagedRulesParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryManagedRulesParamsMitigationProductDDoS AttackLayer7SummaryManagedRulesParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductWAF AttackLayer7SummaryManagedRulesParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductBotManagement AttackLayer7SummaryManagedRulesParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductAccessRules AttackLayer7SummaryManagedRulesParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductIPReputation AttackLayer7SummaryManagedRulesParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductAPIShield AttackLayer7SummaryManagedRulesParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryManagedRulesParamsMitigationProductDataLossPrevention AttackLayer7SummaryManagedRulesParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryManagedRulesResponse struct{…}` - `Meta AttackLayer7SummaryManagedRulesResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryManagedRulesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryManagedRulesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationPercentage AttackLayer7SummaryManagedRulesResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationMin0Max AttackLayer7SummaryManagedRulesResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationMinMax AttackLayer7SummaryManagedRulesResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationRawValues AttackLayer7SummaryManagedRulesResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationPercentageChange AttackLayer7SummaryManagedRulesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationRollingAverage AttackLayer7SummaryManagedRulesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryManagedRulesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryManagedRulesResponseMetaNormalizationRatio AttackLayer7SummaryManagedRulesResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryManagedRulesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.ManagedRules(context.TODO(), radar.AttackLayer7SummaryManagedRulesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP Anomaly": "85.714286", "XSS": "10.274394" } }, "success": true } ``` ## Get layer 7 attacks by mitigation product summary `client.Radar.Attacks.Layer7.Summary.MitigationProduct(ctx, query) (*AttackLayer7SummaryMitigationProductResponse, error)` **get** `/radar/attacks/layer7/summary/mitigation_product` Retrieves the distribution of layer 7 attacks by mitigation product. ### Parameters - `query AttackLayer7SummaryMitigationProductParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryMitigationProductParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryMitigationProductParamsFormatJson AttackLayer7SummaryMitigationProductParamsFormat = "JSON"` - `const AttackLayer7SummaryMitigationProductParamsFormatCsv AttackLayer7SummaryMitigationProductParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryMitigationProductParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodGet AttackLayer7SummaryMitigationProductParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPost AttackLayer7SummaryMitigationProductParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodDelete AttackLayer7SummaryMitigationProductParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPut AttackLayer7SummaryMitigationProductParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodHead AttackLayer7SummaryMitigationProductParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPurge AttackLayer7SummaryMitigationProductParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodOptions AttackLayer7SummaryMitigationProductParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPropfind AttackLayer7SummaryMitigationProductParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodMkcol AttackLayer7SummaryMitigationProductParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPatch AttackLayer7SummaryMitigationProductParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodACL AttackLayer7SummaryMitigationProductParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBcopy AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBdelete AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBmove AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBpropfind AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBproppatch AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodCheckin AttackLayer7SummaryMitigationProductParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodCheckout AttackLayer7SummaryMitigationProductParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodConnect AttackLayer7SummaryMitigationProductParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodCopy AttackLayer7SummaryMitigationProductParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodLabel AttackLayer7SummaryMitigationProductParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodLock AttackLayer7SummaryMitigationProductParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodMerge AttackLayer7SummaryMitigationProductParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodMkactivity AttackLayer7SummaryMitigationProductParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodMkworkspace AttackLayer7SummaryMitigationProductParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodMove AttackLayer7SummaryMitigationProductParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodNotify AttackLayer7SummaryMitigationProductParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodOrderpatch AttackLayer7SummaryMitigationProductParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodPoll AttackLayer7SummaryMitigationProductParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodProppatch AttackLayer7SummaryMitigationProductParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodReport AttackLayer7SummaryMitigationProductParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodSearch AttackLayer7SummaryMitigationProductParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodSubscribe AttackLayer7SummaryMitigationProductParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodTrace AttackLayer7SummaryMitigationProductParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodUncheckout AttackLayer7SummaryMitigationProductParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodUnlock AttackLayer7SummaryMitigationProductParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodUnsubscribe AttackLayer7SummaryMitigationProductParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodUpdate AttackLayer7SummaryMitigationProductParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodVersioncontrol AttackLayer7SummaryMitigationProductParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodBaselinecontrol AttackLayer7SummaryMitigationProductParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodXmsenumatts AttackLayer7SummaryMitigationProductParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodRpcOutData AttackLayer7SummaryMitigationProductParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodRpcInData AttackLayer7SummaryMitigationProductParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodJson AttackLayer7SummaryMitigationProductParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodCook AttackLayer7SummaryMitigationProductParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryMitigationProductParamsHTTPMethodTrack AttackLayer7SummaryMitigationProductParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryMitigationProductParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryMitigationProductParamsHTTPVersionHttPv1 AttackLayer7SummaryMitigationProductParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryMitigationProductParamsHTTPVersionHttPv2 AttackLayer7SummaryMitigationProductParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryMitigationProductParamsHTTPVersionHttPv3 AttackLayer7SummaryMitigationProductParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryMitigationProductParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryMitigationProductParamsIPVersionIPv4 AttackLayer7SummaryMitigationProductParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryMitigationProductParamsIPVersionIPv6 AttackLayer7SummaryMitigationProductParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryMitigationProductResponse struct{…}` - `Meta AttackLayer7SummaryMitigationProductResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryMitigationProductResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryMitigationProductResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationPercentage AttackLayer7SummaryMitigationProductResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationMin0Max AttackLayer7SummaryMitigationProductResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationMinMax AttackLayer7SummaryMitigationProductResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationRawValues AttackLayer7SummaryMitigationProductResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationPercentageChange AttackLayer7SummaryMitigationProductResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationRollingAverage AttackLayer7SummaryMitigationProductResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryMitigationProductResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryMitigationProductResponseMetaNormalizationRatio AttackLayer7SummaryMitigationProductResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryMitigationProductResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.MitigationProduct(context.TODO(), radar.AttackLayer7SummaryMitigationProductParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "DDOS": "24.421594", "WAF": "53.213368" } }, "success": true } ``` ## Get layer 7 attacks by targeted industry summary `client.Radar.Attacks.Layer7.Summary.Industry(ctx, query) (*AttackLayer7SummaryIndustryResponse, error)` **get** `/radar/attacks/layer7/summary/industry` Retrieves the distribution of layer 7 attacks by targeted industry. ### Parameters - `query AttackLayer7SummaryIndustryParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryIndustryParamsFormatJson AttackLayer7SummaryIndustryParamsFormat = "JSON"` - `const AttackLayer7SummaryIndustryParamsFormatCsv AttackLayer7SummaryIndustryParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryIndustryParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryIndustryParamsHTTPMethodGet AttackLayer7SummaryIndustryParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPost AttackLayer7SummaryIndustryParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodDelete AttackLayer7SummaryIndustryParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPut AttackLayer7SummaryIndustryParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodHead AttackLayer7SummaryIndustryParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPurge AttackLayer7SummaryIndustryParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodOptions AttackLayer7SummaryIndustryParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPropfind AttackLayer7SummaryIndustryParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodMkcol AttackLayer7SummaryIndustryParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPatch AttackLayer7SummaryIndustryParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodACL AttackLayer7SummaryIndustryParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBcopy AttackLayer7SummaryIndustryParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBdelete AttackLayer7SummaryIndustryParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBmove AttackLayer7SummaryIndustryParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBpropfind AttackLayer7SummaryIndustryParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBproppatch AttackLayer7SummaryIndustryParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodCheckin AttackLayer7SummaryIndustryParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodCheckout AttackLayer7SummaryIndustryParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodConnect AttackLayer7SummaryIndustryParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodCopy AttackLayer7SummaryIndustryParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodLabel AttackLayer7SummaryIndustryParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodLock AttackLayer7SummaryIndustryParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodMerge AttackLayer7SummaryIndustryParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodMkactivity AttackLayer7SummaryIndustryParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodMkworkspace AttackLayer7SummaryIndustryParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodMove AttackLayer7SummaryIndustryParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodNotify AttackLayer7SummaryIndustryParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodOrderpatch AttackLayer7SummaryIndustryParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodPoll AttackLayer7SummaryIndustryParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodProppatch AttackLayer7SummaryIndustryParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodReport AttackLayer7SummaryIndustryParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodSearch AttackLayer7SummaryIndustryParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodSubscribe AttackLayer7SummaryIndustryParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodTrace AttackLayer7SummaryIndustryParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodUncheckout AttackLayer7SummaryIndustryParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodUnlock AttackLayer7SummaryIndustryParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodUnsubscribe AttackLayer7SummaryIndustryParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodUpdate AttackLayer7SummaryIndustryParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodVersioncontrol AttackLayer7SummaryIndustryParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodBaselinecontrol AttackLayer7SummaryIndustryParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodXmsenumatts AttackLayer7SummaryIndustryParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodRpcOutData AttackLayer7SummaryIndustryParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodRpcInData AttackLayer7SummaryIndustryParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodJson AttackLayer7SummaryIndustryParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodCook AttackLayer7SummaryIndustryParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryIndustryParamsHTTPMethodTrack AttackLayer7SummaryIndustryParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryIndustryParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryIndustryParamsHTTPVersionHttPv1 AttackLayer7SummaryIndustryParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryIndustryParamsHTTPVersionHttPv2 AttackLayer7SummaryIndustryParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryIndustryParamsHTTPVersionHttPv3 AttackLayer7SummaryIndustryParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryIndustryParamsIPVersionIPv4 AttackLayer7SummaryIndustryParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryIndustryParamsIPVersionIPv6 AttackLayer7SummaryIndustryParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryIndustryParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryIndustryParamsMitigationProductDDoS AttackLayer7SummaryIndustryParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryIndustryParamsMitigationProductWAF AttackLayer7SummaryIndustryParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryIndustryParamsMitigationProductBotManagement AttackLayer7SummaryIndustryParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryIndustryParamsMitigationProductAccessRules AttackLayer7SummaryIndustryParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryIndustryParamsMitigationProductIPReputation AttackLayer7SummaryIndustryParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryIndustryParamsMitigationProductAPIShield AttackLayer7SummaryIndustryParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryIndustryParamsMitigationProductDataLossPrevention AttackLayer7SummaryIndustryParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryIndustryResponse struct{…}` - `Meta AttackLayer7SummaryIndustryResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryIndustryResponseMetaNormalizationPercentage AttackLayer7SummaryIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationMin0Max AttackLayer7SummaryIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationMinMax AttackLayer7SummaryIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationRawValues AttackLayer7SummaryIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationPercentageChange AttackLayer7SummaryIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationRollingAverage AttackLayer7SummaryIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryIndustryResponseMetaNormalizationRatio AttackLayer7SummaryIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.Industry(context.TODO(), radar.AttackLayer7SummaryIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Computer Software": "65" } }, "success": true } ``` ## Get layer 7 attacks by targeted vertical summary `client.Radar.Attacks.Layer7.Summary.Vertical(ctx, query) (*AttackLayer7SummaryVerticalResponse, error)` **get** `/radar/attacks/layer7/summary/vertical` Retrieves the distribution of layer 7 attacks by targeted vertical. ### Parameters - `query AttackLayer7SummaryVerticalParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7SummaryVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer7SummaryVerticalParamsFormatJson AttackLayer7SummaryVerticalParamsFormat = "JSON"` - `const AttackLayer7SummaryVerticalParamsFormatCsv AttackLayer7SummaryVerticalParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7SummaryVerticalParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7SummaryVerticalParamsHTTPMethodGet AttackLayer7SummaryVerticalParamsHTTPMethod = "GET"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPost AttackLayer7SummaryVerticalParamsHTTPMethod = "POST"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodDelete AttackLayer7SummaryVerticalParamsHTTPMethod = "DELETE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPut AttackLayer7SummaryVerticalParamsHTTPMethod = "PUT"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodHead AttackLayer7SummaryVerticalParamsHTTPMethod = "HEAD"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPurge AttackLayer7SummaryVerticalParamsHTTPMethod = "PURGE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodOptions AttackLayer7SummaryVerticalParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPropfind AttackLayer7SummaryVerticalParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodMkcol AttackLayer7SummaryVerticalParamsHTTPMethod = "MKCOL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPatch AttackLayer7SummaryVerticalParamsHTTPMethod = "PATCH"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodACL AttackLayer7SummaryVerticalParamsHTTPMethod = "ACL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBcopy AttackLayer7SummaryVerticalParamsHTTPMethod = "BCOPY"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBdelete AttackLayer7SummaryVerticalParamsHTTPMethod = "BDELETE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBmove AttackLayer7SummaryVerticalParamsHTTPMethod = "BMOVE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBpropfind AttackLayer7SummaryVerticalParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBproppatch AttackLayer7SummaryVerticalParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodCheckin AttackLayer7SummaryVerticalParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodCheckout AttackLayer7SummaryVerticalParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodConnect AttackLayer7SummaryVerticalParamsHTTPMethod = "CONNECT"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodCopy AttackLayer7SummaryVerticalParamsHTTPMethod = "COPY"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodLabel AttackLayer7SummaryVerticalParamsHTTPMethod = "LABEL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodLock AttackLayer7SummaryVerticalParamsHTTPMethod = "LOCK"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodMerge AttackLayer7SummaryVerticalParamsHTTPMethod = "MERGE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodMkactivity AttackLayer7SummaryVerticalParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodMkworkspace AttackLayer7SummaryVerticalParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodMove AttackLayer7SummaryVerticalParamsHTTPMethod = "MOVE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodNotify AttackLayer7SummaryVerticalParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodOrderpatch AttackLayer7SummaryVerticalParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodPoll AttackLayer7SummaryVerticalParamsHTTPMethod = "POLL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodProppatch AttackLayer7SummaryVerticalParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodReport AttackLayer7SummaryVerticalParamsHTTPMethod = "REPORT"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodSearch AttackLayer7SummaryVerticalParamsHTTPMethod = "SEARCH"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodSubscribe AttackLayer7SummaryVerticalParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodTrace AttackLayer7SummaryVerticalParamsHTTPMethod = "TRACE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodUncheckout AttackLayer7SummaryVerticalParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodUnlock AttackLayer7SummaryVerticalParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodUnsubscribe AttackLayer7SummaryVerticalParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodUpdate AttackLayer7SummaryVerticalParamsHTTPMethod = "UPDATE"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodVersioncontrol AttackLayer7SummaryVerticalParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodBaselinecontrol AttackLayer7SummaryVerticalParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodXmsenumatts AttackLayer7SummaryVerticalParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodRpcOutData AttackLayer7SummaryVerticalParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodRpcInData AttackLayer7SummaryVerticalParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodJson AttackLayer7SummaryVerticalParamsHTTPMethod = "JSON"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodCook AttackLayer7SummaryVerticalParamsHTTPMethod = "COOK"` - `const AttackLayer7SummaryVerticalParamsHTTPMethodTrack AttackLayer7SummaryVerticalParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7SummaryVerticalParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7SummaryVerticalParamsHTTPVersionHttPv1 AttackLayer7SummaryVerticalParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7SummaryVerticalParamsHTTPVersionHttPv2 AttackLayer7SummaryVerticalParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7SummaryVerticalParamsHTTPVersionHttPv3 AttackLayer7SummaryVerticalParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7SummaryVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7SummaryVerticalParamsIPVersionIPv4 AttackLayer7SummaryVerticalParamsIPVersion = "IPv4"` - `const AttackLayer7SummaryVerticalParamsIPVersionIPv6 AttackLayer7SummaryVerticalParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7SummaryVerticalParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7SummaryVerticalParamsMitigationProductDDoS AttackLayer7SummaryVerticalParamsMitigationProduct = "DDOS"` - `const AttackLayer7SummaryVerticalParamsMitigationProductWAF AttackLayer7SummaryVerticalParamsMitigationProduct = "WAF"` - `const AttackLayer7SummaryVerticalParamsMitigationProductBotManagement AttackLayer7SummaryVerticalParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7SummaryVerticalParamsMitigationProductAccessRules AttackLayer7SummaryVerticalParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7SummaryVerticalParamsMitigationProductIPReputation AttackLayer7SummaryVerticalParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7SummaryVerticalParamsMitigationProductAPIShield AttackLayer7SummaryVerticalParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7SummaryVerticalParamsMitigationProductDataLossPrevention AttackLayer7SummaryVerticalParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7SummaryVerticalResponse struct{…}` - `Meta AttackLayer7SummaryVerticalResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7SummaryVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7SummaryVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7SummaryVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7SummaryVerticalResponseMetaNormalizationPercentage AttackLayer7SummaryVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationMin0Max AttackLayer7SummaryVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationMinMax AttackLayer7SummaryVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationRawValues AttackLayer7SummaryVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationPercentageChange AttackLayer7SummaryVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationRollingAverage AttackLayer7SummaryVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer7SummaryVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7SummaryVerticalResponseMetaNormalizationRatio AttackLayer7SummaryVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7SummaryVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Summary.Vertical(context.TODO(), radar.AttackLayer7SummaryVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Internet and Telecom": "5.519081" } }, "success": true } ``` # Timeseries Groups ## Get layer 7 attacks by target industries time series `client.Radar.Attacks.Layer7.TimeseriesGroups.Industry(ctx, query) (*AttackLayer7TimeseriesGroupIndustryResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/industry` Retrieves the distribution of layer 7 attacks by targeted industry over time. ### Parameters - `query AttackLayer7TimeseriesGroupIndustryParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupIndustryParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupIndustryParamsAggInterval15m AttackLayer7TimeseriesGroupIndustryParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupIndustryParamsAggInterval1h AttackLayer7TimeseriesGroupIndustryParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupIndustryParamsAggInterval1d AttackLayer7TimeseriesGroupIndustryParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupIndustryParamsAggInterval1w AttackLayer7TimeseriesGroupIndustryParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupIndustryParamsFormatJson AttackLayer7TimeseriesGroupIndustryParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupIndustryParamsFormatCsv AttackLayer7TimeseriesGroupIndustryParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodGet AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPost AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodDelete AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPut AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodHead AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPurge AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodOptions AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPatch AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodACL AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBmove AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodConnect AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodCopy AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodLabel AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodLock AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodMerge AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodMove AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodNotify AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodPoll AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodReport AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodSearch AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodTrace AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodJson AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodCook AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPMethodTrack AttackLayer7TimeseriesGroupIndustryParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupIndustryParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupIndustryParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupIndustryParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupIndustryParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupIndustryParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupIndustryParamsIPVersionIPv4 AttackLayer7TimeseriesGroupIndustryParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupIndustryParamsIPVersionIPv6 AttackLayer7TimeseriesGroupIndustryParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductDDoS AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductWAF AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupIndustryParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupIndustryParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupIndustryParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupIndustryParamsNormalizationPercentage AttackLayer7TimeseriesGroupIndustryParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIndustryParamsNormalizationMin0Max AttackLayer7TimeseriesGroupIndustryParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupIndustryResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupIndustryResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupIndustryResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupIndustryResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIndustryResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupIndustryResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.Industry(context.TODO(), radar.AttackLayer7TimeseriesGroupIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 7 attacks by IP version time series `client.Radar.Attacks.Layer7.TimeseriesGroups.IPVersion(ctx, query) (*AttackLayer7TimeseriesGroupIPVersionResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/ip_version` Retrieves the distribution of layer 7 attacks by IP version used over time. ### Parameters - `query AttackLayer7TimeseriesGroupIPVersionParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupIPVersionParamsAggInterval15m AttackLayer7TimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupIPVersionParamsAggInterval1h AttackLayer7TimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupIPVersionParamsAggInterval1d AttackLayer7TimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupIPVersionParamsAggInterval1w AttackLayer7TimeseriesGroupIPVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupIPVersionParamsFormatJson AttackLayer7TimeseriesGroupIPVersionParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupIPVersionParamsFormatCsv AttackLayer7TimeseriesGroupIPVersionParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodGet AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPost AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodDelete AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPut AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodHead AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPurge AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodOptions AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPatch AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodACL AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBmove AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodConnect AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodCopy AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodLabel AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodLock AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodMerge AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodMove AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodNotify AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodPoll AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodReport AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodSearch AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodTrace AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodJson AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodCook AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethodTrack AttackLayer7TimeseriesGroupIPVersionParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv3"` - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductDDoS AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductWAF AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupIPVersionParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupIPVersionParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupIPVersionParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupIPVersionParamsNormalizationPercentage AttackLayer7TimeseriesGroupIPVersionParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIPVersionParamsNormalizationMin0Max AttackLayer7TimeseriesGroupIPVersionParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupIPVersionResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.IPVersion(context.TODO(), radar.AttackLayer7TimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get layer 7 attacks by vertical time series `client.Radar.Attacks.Layer7.TimeseriesGroups.Vertical(ctx, query) (*AttackLayer7TimeseriesGroupVerticalResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/vertical` Retrieves the distribution of layer 7 attacks by targeted vertical over time. ### Parameters - `query AttackLayer7TimeseriesGroupVerticalParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupVerticalParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupVerticalParamsAggInterval15m AttackLayer7TimeseriesGroupVerticalParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupVerticalParamsAggInterval1h AttackLayer7TimeseriesGroupVerticalParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupVerticalParamsAggInterval1d AttackLayer7TimeseriesGroupVerticalParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupVerticalParamsAggInterval1w AttackLayer7TimeseriesGroupVerticalParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupVerticalParamsFormatJson AttackLayer7TimeseriesGroupVerticalParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupVerticalParamsFormatCsv AttackLayer7TimeseriesGroupVerticalParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodGet AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPost AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodDelete AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPut AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodHead AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPurge AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodOptions AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPatch AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodACL AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBmove AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodConnect AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodCopy AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodLabel AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodLock AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodMerge AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodMove AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodNotify AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodPoll AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodReport AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodSearch AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodTrace AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodJson AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodCook AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPMethodTrack AttackLayer7TimeseriesGroupVerticalParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupVerticalParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupVerticalParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupVerticalParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupVerticalParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupVerticalParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupVerticalParamsIPVersionIPv4 AttackLayer7TimeseriesGroupVerticalParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupVerticalParamsIPVersionIPv6 AttackLayer7TimeseriesGroupVerticalParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductDDoS AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductWAF AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupVerticalParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupVerticalParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupVerticalParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupVerticalParamsNormalizationPercentage AttackLayer7TimeseriesGroupVerticalParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupVerticalParamsNormalizationMin0Max AttackLayer7TimeseriesGroupVerticalParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupVerticalResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupVerticalResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupVerticalResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupVerticalResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupVerticalResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupVerticalResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.Vertical(context.TODO(), radar.AttackLayer7TimeseriesGroupVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 7 attacks by HTTP method time series `client.Radar.Attacks.Layer7.TimeseriesGroups.HTTPMethod(ctx, query) (*AttackLayer7TimeseriesGroupHTTPMethodResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/http_method` Retrieves the distribution of layer 7 attacks by HTTP method over time. ### Parameters - `query AttackLayer7TimeseriesGroupHTTPMethodParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval15m AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval1h AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval1d AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval1w AttackLayer7TimeseriesGroupHTTPMethodParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupHTTPMethodParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupHTTPMethodParamsFormatJson AttackLayer7TimeseriesGroupHTTPMethodParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsFormatCsv AttackLayer7TimeseriesGroupHTTPMethodParamsFormat = "CSV"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupHTTPMethodParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupHTTPMethodParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupHTTPMethodParamsIPVersionIPv4 AttackLayer7TimeseriesGroupHTTPMethodParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsIPVersionIPv6 AttackLayer7TimeseriesGroupHTTPMethodParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductDDoS AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductWAF AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupHTTPMethodParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupHTTPMethodParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupHTTPMethodParamsNormalizationPercentage AttackLayer7TimeseriesGroupHTTPMethodParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodParamsNormalizationMin0Max AttackLayer7TimeseriesGroupHTTPMethodParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupHTTPMethodResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupHTTPMethodResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupHTTPMethodResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupHTTPMethodResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupHTTPMethodResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupHTTPMethodResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupHTTPMethodResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupHTTPMethodResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.HTTPMethod(context.TODO(), radar.AttackLayer7TimeseriesGroupHTTPMethodParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 7 attacks by HTTP version time series `client.Radar.Attacks.Layer7.TimeseriesGroups.HTTPVersion(ctx, query) (*AttackLayer7TimeseriesGroupHTTPVersionResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/http_version` Retrieves the distribution of layer 7 attacks by HTTP version over time. ### Parameters - `query AttackLayer7TimeseriesGroupHTTPVersionParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval15m AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval1h AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval1d AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval1w AttackLayer7TimeseriesGroupHTTPVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupHTTPVersionParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupHTTPVersionParamsFormatJson AttackLayer7TimeseriesGroupHTTPVersionParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsFormatCsv AttackLayer7TimeseriesGroupHTTPVersionParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodGet AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPost AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodDelete AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPut AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodHead AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPurge AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodOptions AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPatch AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodACL AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBmove AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodConnect AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodCopy AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodLabel AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodLock AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodMerge AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodMove AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodNotify AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodPoll AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodReport AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodSearch AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodTrace AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodJson AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodCook AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethodTrack AttackLayer7TimeseriesGroupHTTPVersionParamsHTTPMethod = "TRACK"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupHTTPVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupHTTPVersionParamsIPVersionIPv4 AttackLayer7TimeseriesGroupHTTPVersionParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsIPVersionIPv6 AttackLayer7TimeseriesGroupHTTPVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductDDoS AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductWAF AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupHTTPVersionParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupHTTPVersionParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupHTTPVersionParamsNormalizationPercentage AttackLayer7TimeseriesGroupHTTPVersionParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionParamsNormalizationMin0Max AttackLayer7TimeseriesGroupHTTPVersionParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupHTTPVersionResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupHTTPVersionResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupHTTPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupHTTPVersionResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupHTTPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupHTTPVersionResponseSerie0` - `HTTP1X []string` - `HTTP2 []string` - `HTTP3 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.HTTPVersion(context.TODO(), radar.AttackLayer7TimeseriesGroupHTTPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP/1.x": [ "50.338734" ], "HTTP/2": [ "48.661266" ], "HTTP/3": [ "1.22108" ], "timestamps": [ "2023-10-01T00:00:00Z" ] } }, "success": true } ``` ## Get layer 7 attacks by managed rules time series `client.Radar.Attacks.Layer7.TimeseriesGroups.ManagedRules(ctx, query) (*AttackLayer7TimeseriesGroupManagedRulesResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/managed_rules` Retrieves the distribution of layer 7 attacks by managed rules over time. ### Parameters - `query AttackLayer7TimeseriesGroupManagedRulesParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval15m AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval1h AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval1d AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval1w AttackLayer7TimeseriesGroupManagedRulesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupManagedRulesParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupManagedRulesParamsFormatJson AttackLayer7TimeseriesGroupManagedRulesParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsFormatCsv AttackLayer7TimeseriesGroupManagedRulesParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodGet AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPost AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodDelete AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPut AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodHead AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPurge AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodOptions AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPatch AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodACL AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBmove AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodConnect AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodCopy AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodLabel AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodLock AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodMerge AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodMove AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodNotify AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodPoll AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodReport AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodSearch AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodTrace AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodJson AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodCook AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethodTrack AttackLayer7TimeseriesGroupManagedRulesParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupManagedRulesParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupManagedRulesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupManagedRulesParamsIPVersionIPv4 AttackLayer7TimeseriesGroupManagedRulesParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsIPVersionIPv6 AttackLayer7TimeseriesGroupManagedRulesParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductDDoS AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "DDOS"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductWAF AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "WAF"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductBotManagement AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductAccessRules AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductIPReputation AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductAPIShield AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProductDataLossPrevention AttackLayer7TimeseriesGroupManagedRulesParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupManagedRulesParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupManagedRulesParamsNormalizationPercentage AttackLayer7TimeseriesGroupManagedRulesParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupManagedRulesParamsNormalizationMin0Max AttackLayer7TimeseriesGroupManagedRulesParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupManagedRulesResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupManagedRulesResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupManagedRulesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupManagedRulesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupManagedRulesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupManagedRulesResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupManagedRulesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupManagedRulesResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.ManagedRules(context.TODO(), radar.AttackLayer7TimeseriesGroupManagedRulesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 layer 7 attacks by mitigation product time series `client.Radar.Attacks.Layer7.TimeseriesGroups.MitigationProduct(ctx, query) (*AttackLayer7TimeseriesGroupMitigationProductResponse, error)` **get** `/radar/attacks/layer7/timeseries_groups/mitigation_product` Retrieves the distribution of layer 7 attacks by mitigation product over time. ### Parameters - `query AttackLayer7TimeseriesGroupMitigationProductParams` - `AggInterval param.Field[AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval]` 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/). - `const AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval15m AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval = "15m"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval1h AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval = "1h"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval1d AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval = "1d"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval1w AttackLayer7TimeseriesGroupMitigationProductParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TimeseriesGroupMitigationProductParamsFormat]` Format in which results will be returned. - `const AttackLayer7TimeseriesGroupMitigationProductParamsFormatJson AttackLayer7TimeseriesGroupMitigationProductParamsFormat = "JSON"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsFormatCsv AttackLayer7TimeseriesGroupMitigationProductParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodGet AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "GET"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPost AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "POST"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodDelete AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "DELETE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPut AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "PUT"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodHead AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "HEAD"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPurge AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "PURGE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodOptions AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPropfind AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodMkcol AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPatch AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "PATCH"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodACL AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "ACL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBcopy AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBdelete AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBmove AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBpropfind AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBproppatch AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodCheckin AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodCheckout AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodConnect AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodCopy AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "COPY"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodLabel AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "LABEL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodLock AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "LOCK"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodMerge AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "MERGE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodMkactivity AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodMkworkspace AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodMove AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "MOVE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodNotify AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodOrderpatch AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodPoll AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "POLL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodProppatch AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodReport AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "REPORT"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodSearch AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodSubscribe AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodTrace AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "TRACE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodUncheckout AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodUnlock AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodUnsubscribe AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodUpdate AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodVersioncontrol AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodBaselinecontrol AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodXmsenumatts AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodRpcOutData AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodRpcInData AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodJson AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "JSON"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodCook AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "COOK"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethodTrack AttackLayer7TimeseriesGroupMitigationProductParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersionHttPv1 AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersionHttPv2 AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersionHttPv3 AttackLayer7TimeseriesGroupMitigationProductParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TimeseriesGroupMitigationProductParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TimeseriesGroupMitigationProductParamsIPVersionIPv4 AttackLayer7TimeseriesGroupMitigationProductParamsIPVersion = "IPv4"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsIPVersionIPv6 AttackLayer7TimeseriesGroupMitigationProductParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TimeseriesGroupMitigationProductParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupMitigationProductParamsNormalizationPercentage AttackLayer7TimeseriesGroupMitigationProductParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupMitigationProductParamsNormalizationMin0Max AttackLayer7TimeseriesGroupMitigationProductParamsNormalization = "MIN0_MAX"` ### Returns - `type AttackLayer7TimeseriesGroupMitigationProductResponse struct{…}` - `Meta AttackLayer7TimeseriesGroupMitigationProductResponseMeta` Metadata for the results. - `AggInterval AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval` 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/). - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggIntervalFifteenMinutes AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggIntervalOneHour AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval = "ONE_HOUR"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggIntervalOneDay AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval = "ONE_DAY"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggIntervalOneWeek AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval = "ONE_WEEK"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggIntervalOneMonth AttackLayer7TimeseriesGroupMitigationProductResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TimeseriesGroupMitigationProductResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TimeseriesGroupMitigationProductResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationPercentage AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationMin0Max AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationMinMax AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationRawValues AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationPercentageChange AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationRollingAverage AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationOverlappedPercentage AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalizationRatio AttackLayer7TimeseriesGroupMitigationProductResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TimeseriesGroupMitigationProductResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 AttackLayer7TimeseriesGroupMitigationProductResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.TimeseriesGroups.MitigationProduct(context.TODO(), radar.AttackLayer7TimeseriesGroupMitigationProductParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Top ## Get top layer 7 attack pairs (origin and target locations) `client.Radar.Attacks.Layer7.Top.Attacks(ctx, query) (*AttackLayer7TopAttacksResponse, error)` **get** `/radar/attacks/layer7/top/attacks` Retrieves the top attacks from origin to target location. Values are percentages of the total layer 7 attacks (with billing country). The attack magnitude can be defined by the number of mitigated requests or by the number of zones affected. You can optionally limit the number of attacks by origin/target location (useful if all the top attacks are from or to the same location). ### Parameters - `query AttackLayer7TopAttacksParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopAttacksParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopAttacksParamsFormatJson AttackLayer7TopAttacksParamsFormat = "JSON"` - `const AttackLayer7TopAttacksParamsFormatCsv AttackLayer7TopAttacksParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `LimitDirection param.Field[AttackLayer7TopAttacksParamsLimitDirection]` Specifies whether the `limitPerLocation` applies to the source or target location. - `const AttackLayer7TopAttacksParamsLimitDirectionOrigin AttackLayer7TopAttacksParamsLimitDirection = "ORIGIN"` - `const AttackLayer7TopAttacksParamsLimitDirectionTarget AttackLayer7TopAttacksParamsLimitDirection = "TARGET"` - `LimitPerLocation param.Field[int64]` Limits the number of attacks per origin/target (refer to `limitDirection` parameter) location. - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TopAttacksParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopAttacksParamsMitigationProductDDoS AttackLayer7TopAttacksParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopAttacksParamsMitigationProductWAF AttackLayer7TopAttacksParamsMitigationProduct = "WAF"` - `const AttackLayer7TopAttacksParamsMitigationProductBotManagement AttackLayer7TopAttacksParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopAttacksParamsMitigationProductAccessRules AttackLayer7TopAttacksParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopAttacksParamsMitigationProductIPReputation AttackLayer7TopAttacksParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopAttacksParamsMitigationProductAPIShield AttackLayer7TopAttacksParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopAttacksParamsMitigationProductDataLossPrevention AttackLayer7TopAttacksParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[AttackLayer7TopAttacksParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopAttacksParamsNormalizationPercentage AttackLayer7TopAttacksParamsNormalization = "PERCENTAGE"` - `const AttackLayer7TopAttacksParamsNormalizationMinMax AttackLayer7TopAttacksParamsNormalization = "MIN_MAX"` ### Returns - `type AttackLayer7TopAttacksResponse struct{…}` - `Meta AttackLayer7TopAttacksResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopAttacksResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopAttacksResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopAttacksResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopAttacksResponseMetaNormalizationPercentage AttackLayer7TopAttacksResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopAttacksResponseMetaNormalizationMin0Max AttackLayer7TopAttacksResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopAttacksResponseMetaNormalizationMinMax AttackLayer7TopAttacksResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopAttacksResponseMetaNormalizationRawValues AttackLayer7TopAttacksResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopAttacksResponseMetaNormalizationPercentageChange AttackLayer7TopAttacksResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopAttacksResponseMetaNormalizationRollingAverage AttackLayer7TopAttacksResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopAttacksResponseMetaNormalizationOverlappedPercentage AttackLayer7TopAttacksResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopAttacksResponseMetaNormalizationRatio AttackLayer7TopAttacksResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopAttacksResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopAttacksResponseTop0` - `OriginCountryAlpha2 string` - `OriginCountryName string` - `TargetCountryAlpha2 string` - `TargetCountryName string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Attacks(context.TODO(), radar.AttackLayer7TopAttacksParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "originCountryAlpha2": "US", "originCountryName": "United States", "targetCountryAlpha2": "FR", "targetCountryName": "France", "value": "4.323214" } ] }, "success": true } ``` ## Get top industries targeted by layer 7 attacks `client.Radar.Attacks.Layer7.Top.Industry(ctx, query) (*AttackLayer7TopIndustryResponse, error)` **get** `/radar/attacks/layer7/top/industry` This endpoint is deprecated. To continue getting this data, switch to the summary by industry endpoint. ### Parameters - `query AttackLayer7TopIndustryParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopIndustryParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopIndustryParamsFormatJson AttackLayer7TopIndustryParamsFormat = "JSON"` - `const AttackLayer7TopIndustryParamsFormatCsv AttackLayer7TopIndustryParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TopIndustryParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TopIndustryParamsHTTPMethodGet AttackLayer7TopIndustryParamsHTTPMethod = "GET"` - `const AttackLayer7TopIndustryParamsHTTPMethodPost AttackLayer7TopIndustryParamsHTTPMethod = "POST"` - `const AttackLayer7TopIndustryParamsHTTPMethodDelete AttackLayer7TopIndustryParamsHTTPMethod = "DELETE"` - `const AttackLayer7TopIndustryParamsHTTPMethodPut AttackLayer7TopIndustryParamsHTTPMethod = "PUT"` - `const AttackLayer7TopIndustryParamsHTTPMethodHead AttackLayer7TopIndustryParamsHTTPMethod = "HEAD"` - `const AttackLayer7TopIndustryParamsHTTPMethodPurge AttackLayer7TopIndustryParamsHTTPMethod = "PURGE"` - `const AttackLayer7TopIndustryParamsHTTPMethodOptions AttackLayer7TopIndustryParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TopIndustryParamsHTTPMethodPropfind AttackLayer7TopIndustryParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TopIndustryParamsHTTPMethodMkcol AttackLayer7TopIndustryParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TopIndustryParamsHTTPMethodPatch AttackLayer7TopIndustryParamsHTTPMethod = "PATCH"` - `const AttackLayer7TopIndustryParamsHTTPMethodACL AttackLayer7TopIndustryParamsHTTPMethod = "ACL"` - `const AttackLayer7TopIndustryParamsHTTPMethodBcopy AttackLayer7TopIndustryParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TopIndustryParamsHTTPMethodBdelete AttackLayer7TopIndustryParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TopIndustryParamsHTTPMethodBmove AttackLayer7TopIndustryParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TopIndustryParamsHTTPMethodBpropfind AttackLayer7TopIndustryParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TopIndustryParamsHTTPMethodBproppatch AttackLayer7TopIndustryParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TopIndustryParamsHTTPMethodCheckin AttackLayer7TopIndustryParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TopIndustryParamsHTTPMethodCheckout AttackLayer7TopIndustryParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TopIndustryParamsHTTPMethodConnect AttackLayer7TopIndustryParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TopIndustryParamsHTTPMethodCopy AttackLayer7TopIndustryParamsHTTPMethod = "COPY"` - `const AttackLayer7TopIndustryParamsHTTPMethodLabel AttackLayer7TopIndustryParamsHTTPMethod = "LABEL"` - `const AttackLayer7TopIndustryParamsHTTPMethodLock AttackLayer7TopIndustryParamsHTTPMethod = "LOCK"` - `const AttackLayer7TopIndustryParamsHTTPMethodMerge AttackLayer7TopIndustryParamsHTTPMethod = "MERGE"` - `const AttackLayer7TopIndustryParamsHTTPMethodMkactivity AttackLayer7TopIndustryParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TopIndustryParamsHTTPMethodMkworkspace AttackLayer7TopIndustryParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TopIndustryParamsHTTPMethodMove AttackLayer7TopIndustryParamsHTTPMethod = "MOVE"` - `const AttackLayer7TopIndustryParamsHTTPMethodNotify AttackLayer7TopIndustryParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TopIndustryParamsHTTPMethodOrderpatch AttackLayer7TopIndustryParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TopIndustryParamsHTTPMethodPoll AttackLayer7TopIndustryParamsHTTPMethod = "POLL"` - `const AttackLayer7TopIndustryParamsHTTPMethodProppatch AttackLayer7TopIndustryParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TopIndustryParamsHTTPMethodReport AttackLayer7TopIndustryParamsHTTPMethod = "REPORT"` - `const AttackLayer7TopIndustryParamsHTTPMethodSearch AttackLayer7TopIndustryParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TopIndustryParamsHTTPMethodSubscribe AttackLayer7TopIndustryParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TopIndustryParamsHTTPMethodTrace AttackLayer7TopIndustryParamsHTTPMethod = "TRACE"` - `const AttackLayer7TopIndustryParamsHTTPMethodUncheckout AttackLayer7TopIndustryParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TopIndustryParamsHTTPMethodUnlock AttackLayer7TopIndustryParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TopIndustryParamsHTTPMethodUnsubscribe AttackLayer7TopIndustryParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TopIndustryParamsHTTPMethodUpdate AttackLayer7TopIndustryParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TopIndustryParamsHTTPMethodVersioncontrol AttackLayer7TopIndustryParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TopIndustryParamsHTTPMethodBaselinecontrol AttackLayer7TopIndustryParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TopIndustryParamsHTTPMethodXmsenumatts AttackLayer7TopIndustryParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TopIndustryParamsHTTPMethodRpcOutData AttackLayer7TopIndustryParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TopIndustryParamsHTTPMethodRpcInData AttackLayer7TopIndustryParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TopIndustryParamsHTTPMethodJson AttackLayer7TopIndustryParamsHTTPMethod = "JSON"` - `const AttackLayer7TopIndustryParamsHTTPMethodCook AttackLayer7TopIndustryParamsHTTPMethod = "COOK"` - `const AttackLayer7TopIndustryParamsHTTPMethodTrack AttackLayer7TopIndustryParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TopIndustryParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TopIndustryParamsHTTPVersionHttPv1 AttackLayer7TopIndustryParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TopIndustryParamsHTTPVersionHttPv2 AttackLayer7TopIndustryParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TopIndustryParamsHTTPVersionHttPv3 AttackLayer7TopIndustryParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TopIndustryParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TopIndustryParamsIPVersionIPv4 AttackLayer7TopIndustryParamsIPVersion = "IPv4"` - `const AttackLayer7TopIndustryParamsIPVersionIPv6 AttackLayer7TopIndustryParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TopIndustryParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopIndustryParamsMitigationProductDDoS AttackLayer7TopIndustryParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopIndustryParamsMitigationProductWAF AttackLayer7TopIndustryParamsMitigationProduct = "WAF"` - `const AttackLayer7TopIndustryParamsMitigationProductBotManagement AttackLayer7TopIndustryParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopIndustryParamsMitigationProductAccessRules AttackLayer7TopIndustryParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopIndustryParamsMitigationProductIPReputation AttackLayer7TopIndustryParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopIndustryParamsMitigationProductAPIShield AttackLayer7TopIndustryParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopIndustryParamsMitigationProductDataLossPrevention AttackLayer7TopIndustryParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7TopIndustryResponse struct{…}` - `Meta AttackLayer7TopIndustryResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopIndustryResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopIndustryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopIndustryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopIndustryResponseMetaNormalizationPercentage AttackLayer7TopIndustryResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopIndustryResponseMetaNormalizationMin0Max AttackLayer7TopIndustryResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopIndustryResponseMetaNormalizationMinMax AttackLayer7TopIndustryResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopIndustryResponseMetaNormalizationRawValues AttackLayer7TopIndustryResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopIndustryResponseMetaNormalizationPercentageChange AttackLayer7TopIndustryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopIndustryResponseMetaNormalizationRollingAverage AttackLayer7TopIndustryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopIndustryResponseMetaNormalizationOverlappedPercentage AttackLayer7TopIndustryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopIndustryResponseMetaNormalizationRatio AttackLayer7TopIndustryResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopIndustryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopIndustryResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Industry(context.TODO(), radar.AttackLayer7TopIndustryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "Computer Software", "value": "65" } ] }, "success": true } ``` ## Get top verticals targeted by layer 7 attacks `client.Radar.Attacks.Layer7.Top.Vertical(ctx, query) (*AttackLayer7TopVerticalResponse, error)` **get** `/radar/attacks/layer7/top/vertical` This endpoint is deprecated. To continue getting this data, switch to the summary by vertical endpoint. ### Parameters - `query AttackLayer7TopVerticalParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopVerticalParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopVerticalParamsFormatJson AttackLayer7TopVerticalParamsFormat = "JSON"` - `const AttackLayer7TopVerticalParamsFormatCsv AttackLayer7TopVerticalParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TopVerticalParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TopVerticalParamsHTTPMethodGet AttackLayer7TopVerticalParamsHTTPMethod = "GET"` - `const AttackLayer7TopVerticalParamsHTTPMethodPost AttackLayer7TopVerticalParamsHTTPMethod = "POST"` - `const AttackLayer7TopVerticalParamsHTTPMethodDelete AttackLayer7TopVerticalParamsHTTPMethod = "DELETE"` - `const AttackLayer7TopVerticalParamsHTTPMethodPut AttackLayer7TopVerticalParamsHTTPMethod = "PUT"` - `const AttackLayer7TopVerticalParamsHTTPMethodHead AttackLayer7TopVerticalParamsHTTPMethod = "HEAD"` - `const AttackLayer7TopVerticalParamsHTTPMethodPurge AttackLayer7TopVerticalParamsHTTPMethod = "PURGE"` - `const AttackLayer7TopVerticalParamsHTTPMethodOptions AttackLayer7TopVerticalParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TopVerticalParamsHTTPMethodPropfind AttackLayer7TopVerticalParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TopVerticalParamsHTTPMethodMkcol AttackLayer7TopVerticalParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TopVerticalParamsHTTPMethodPatch AttackLayer7TopVerticalParamsHTTPMethod = "PATCH"` - `const AttackLayer7TopVerticalParamsHTTPMethodACL AttackLayer7TopVerticalParamsHTTPMethod = "ACL"` - `const AttackLayer7TopVerticalParamsHTTPMethodBcopy AttackLayer7TopVerticalParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TopVerticalParamsHTTPMethodBdelete AttackLayer7TopVerticalParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TopVerticalParamsHTTPMethodBmove AttackLayer7TopVerticalParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TopVerticalParamsHTTPMethodBpropfind AttackLayer7TopVerticalParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TopVerticalParamsHTTPMethodBproppatch AttackLayer7TopVerticalParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TopVerticalParamsHTTPMethodCheckin AttackLayer7TopVerticalParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TopVerticalParamsHTTPMethodCheckout AttackLayer7TopVerticalParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TopVerticalParamsHTTPMethodConnect AttackLayer7TopVerticalParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TopVerticalParamsHTTPMethodCopy AttackLayer7TopVerticalParamsHTTPMethod = "COPY"` - `const AttackLayer7TopVerticalParamsHTTPMethodLabel AttackLayer7TopVerticalParamsHTTPMethod = "LABEL"` - `const AttackLayer7TopVerticalParamsHTTPMethodLock AttackLayer7TopVerticalParamsHTTPMethod = "LOCK"` - `const AttackLayer7TopVerticalParamsHTTPMethodMerge AttackLayer7TopVerticalParamsHTTPMethod = "MERGE"` - `const AttackLayer7TopVerticalParamsHTTPMethodMkactivity AttackLayer7TopVerticalParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TopVerticalParamsHTTPMethodMkworkspace AttackLayer7TopVerticalParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TopVerticalParamsHTTPMethodMove AttackLayer7TopVerticalParamsHTTPMethod = "MOVE"` - `const AttackLayer7TopVerticalParamsHTTPMethodNotify AttackLayer7TopVerticalParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TopVerticalParamsHTTPMethodOrderpatch AttackLayer7TopVerticalParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TopVerticalParamsHTTPMethodPoll AttackLayer7TopVerticalParamsHTTPMethod = "POLL"` - `const AttackLayer7TopVerticalParamsHTTPMethodProppatch AttackLayer7TopVerticalParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TopVerticalParamsHTTPMethodReport AttackLayer7TopVerticalParamsHTTPMethod = "REPORT"` - `const AttackLayer7TopVerticalParamsHTTPMethodSearch AttackLayer7TopVerticalParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TopVerticalParamsHTTPMethodSubscribe AttackLayer7TopVerticalParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TopVerticalParamsHTTPMethodTrace AttackLayer7TopVerticalParamsHTTPMethod = "TRACE"` - `const AttackLayer7TopVerticalParamsHTTPMethodUncheckout AttackLayer7TopVerticalParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TopVerticalParamsHTTPMethodUnlock AttackLayer7TopVerticalParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TopVerticalParamsHTTPMethodUnsubscribe AttackLayer7TopVerticalParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TopVerticalParamsHTTPMethodUpdate AttackLayer7TopVerticalParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TopVerticalParamsHTTPMethodVersioncontrol AttackLayer7TopVerticalParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TopVerticalParamsHTTPMethodBaselinecontrol AttackLayer7TopVerticalParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TopVerticalParamsHTTPMethodXmsenumatts AttackLayer7TopVerticalParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TopVerticalParamsHTTPMethodRpcOutData AttackLayer7TopVerticalParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TopVerticalParamsHTTPMethodRpcInData AttackLayer7TopVerticalParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TopVerticalParamsHTTPMethodJson AttackLayer7TopVerticalParamsHTTPMethod = "JSON"` - `const AttackLayer7TopVerticalParamsHTTPMethodCook AttackLayer7TopVerticalParamsHTTPMethod = "COOK"` - `const AttackLayer7TopVerticalParamsHTTPMethodTrack AttackLayer7TopVerticalParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TopVerticalParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TopVerticalParamsHTTPVersionHttPv1 AttackLayer7TopVerticalParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TopVerticalParamsHTTPVersionHttPv2 AttackLayer7TopVerticalParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TopVerticalParamsHTTPVersionHttPv3 AttackLayer7TopVerticalParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TopVerticalParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TopVerticalParamsIPVersionIPv4 AttackLayer7TopVerticalParamsIPVersion = "IPv4"` - `const AttackLayer7TopVerticalParamsIPVersionIPv6 AttackLayer7TopVerticalParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TopVerticalParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopVerticalParamsMitigationProductDDoS AttackLayer7TopVerticalParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopVerticalParamsMitigationProductWAF AttackLayer7TopVerticalParamsMitigationProduct = "WAF"` - `const AttackLayer7TopVerticalParamsMitigationProductBotManagement AttackLayer7TopVerticalParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopVerticalParamsMitigationProductAccessRules AttackLayer7TopVerticalParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopVerticalParamsMitigationProductIPReputation AttackLayer7TopVerticalParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopVerticalParamsMitigationProductAPIShield AttackLayer7TopVerticalParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopVerticalParamsMitigationProductDataLossPrevention AttackLayer7TopVerticalParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7TopVerticalResponse struct{…}` - `Meta AttackLayer7TopVerticalResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopVerticalResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopVerticalResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopVerticalResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopVerticalResponseMetaNormalizationPercentage AttackLayer7TopVerticalResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopVerticalResponseMetaNormalizationMin0Max AttackLayer7TopVerticalResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopVerticalResponseMetaNormalizationMinMax AttackLayer7TopVerticalResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopVerticalResponseMetaNormalizationRawValues AttackLayer7TopVerticalResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopVerticalResponseMetaNormalizationPercentageChange AttackLayer7TopVerticalResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopVerticalResponseMetaNormalizationRollingAverage AttackLayer7TopVerticalResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopVerticalResponseMetaNormalizationOverlappedPercentage AttackLayer7TopVerticalResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopVerticalResponseMetaNormalizationRatio AttackLayer7TopVerticalResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopVerticalResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopVerticalResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Vertical(context.TODO(), radar.AttackLayer7TopVerticalParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "Internet and Telecom", "value": "65" } ] }, "success": true } ``` # Locations ## Get top origin locations of layer 7 attacks `client.Radar.Attacks.Layer7.Top.Locations.Origin(ctx, query) (*AttackLayer7TopLocationOriginResponse, error)` **get** `/radar/attacks/layer7/top/locations/origin` Retrieves the top origin locations of layer 7 attacks. Values are percentages of the total layer 7 attacks, with the origin location determined by the client IP address. ### Parameters - `query AttackLayer7TopLocationOriginParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopLocationOriginParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopLocationOriginParamsFormatJson AttackLayer7TopLocationOriginParamsFormat = "JSON"` - `const AttackLayer7TopLocationOriginParamsFormatCsv AttackLayer7TopLocationOriginParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TopLocationOriginParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TopLocationOriginParamsHTTPMethodGet AttackLayer7TopLocationOriginParamsHTTPMethod = "GET"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPost AttackLayer7TopLocationOriginParamsHTTPMethod = "POST"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodDelete AttackLayer7TopLocationOriginParamsHTTPMethod = "DELETE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPut AttackLayer7TopLocationOriginParamsHTTPMethod = "PUT"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodHead AttackLayer7TopLocationOriginParamsHTTPMethod = "HEAD"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPurge AttackLayer7TopLocationOriginParamsHTTPMethod = "PURGE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodOptions AttackLayer7TopLocationOriginParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPropfind AttackLayer7TopLocationOriginParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodMkcol AttackLayer7TopLocationOriginParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPatch AttackLayer7TopLocationOriginParamsHTTPMethod = "PATCH"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodACL AttackLayer7TopLocationOriginParamsHTTPMethod = "ACL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBcopy AttackLayer7TopLocationOriginParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBdelete AttackLayer7TopLocationOriginParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBmove AttackLayer7TopLocationOriginParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBpropfind AttackLayer7TopLocationOriginParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBproppatch AttackLayer7TopLocationOriginParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodCheckin AttackLayer7TopLocationOriginParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodCheckout AttackLayer7TopLocationOriginParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodConnect AttackLayer7TopLocationOriginParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodCopy AttackLayer7TopLocationOriginParamsHTTPMethod = "COPY"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodLabel AttackLayer7TopLocationOriginParamsHTTPMethod = "LABEL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodLock AttackLayer7TopLocationOriginParamsHTTPMethod = "LOCK"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodMerge AttackLayer7TopLocationOriginParamsHTTPMethod = "MERGE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodMkactivity AttackLayer7TopLocationOriginParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodMkworkspace AttackLayer7TopLocationOriginParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodMove AttackLayer7TopLocationOriginParamsHTTPMethod = "MOVE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodNotify AttackLayer7TopLocationOriginParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodOrderpatch AttackLayer7TopLocationOriginParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodPoll AttackLayer7TopLocationOriginParamsHTTPMethod = "POLL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodProppatch AttackLayer7TopLocationOriginParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodReport AttackLayer7TopLocationOriginParamsHTTPMethod = "REPORT"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodSearch AttackLayer7TopLocationOriginParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodSubscribe AttackLayer7TopLocationOriginParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodTrace AttackLayer7TopLocationOriginParamsHTTPMethod = "TRACE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodUncheckout AttackLayer7TopLocationOriginParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodUnlock AttackLayer7TopLocationOriginParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodUnsubscribe AttackLayer7TopLocationOriginParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodUpdate AttackLayer7TopLocationOriginParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodVersioncontrol AttackLayer7TopLocationOriginParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodBaselinecontrol AttackLayer7TopLocationOriginParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodXmsenumatts AttackLayer7TopLocationOriginParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodRpcOutData AttackLayer7TopLocationOriginParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodRpcInData AttackLayer7TopLocationOriginParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodJson AttackLayer7TopLocationOriginParamsHTTPMethod = "JSON"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodCook AttackLayer7TopLocationOriginParamsHTTPMethod = "COOK"` - `const AttackLayer7TopLocationOriginParamsHTTPMethodTrack AttackLayer7TopLocationOriginParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TopLocationOriginParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv1 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv2 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TopLocationOriginParamsHTTPVersionHttPv3 AttackLayer7TopLocationOriginParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TopLocationOriginParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TopLocationOriginParamsIPVersionIPv4 AttackLayer7TopLocationOriginParamsIPVersion = "IPv4"` - `const AttackLayer7TopLocationOriginParamsIPVersionIPv6 AttackLayer7TopLocationOriginParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `MitigationProduct param.Field[[]AttackLayer7TopLocationOriginParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopLocationOriginParamsMitigationProductDDoS AttackLayer7TopLocationOriginParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopLocationOriginParamsMitigationProductWAF AttackLayer7TopLocationOriginParamsMitigationProduct = "WAF"` - `const AttackLayer7TopLocationOriginParamsMitigationProductBotManagement AttackLayer7TopLocationOriginParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopLocationOriginParamsMitigationProductAccessRules AttackLayer7TopLocationOriginParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopLocationOriginParamsMitigationProductIPReputation AttackLayer7TopLocationOriginParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopLocationOriginParamsMitigationProductAPIShield AttackLayer7TopLocationOriginParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopLocationOriginParamsMitigationProductDataLossPrevention AttackLayer7TopLocationOriginParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7TopLocationOriginResponse struct{…}` - `Meta AttackLayer7TopLocationOriginResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopLocationOriginResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopLocationOriginResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopLocationOriginResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopLocationOriginResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopLocationOriginResponseMetaNormalizationPercentage AttackLayer7TopLocationOriginResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationMin0Max AttackLayer7TopLocationOriginResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationMinMax AttackLayer7TopLocationOriginResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationRawValues AttackLayer7TopLocationOriginResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationPercentageChange AttackLayer7TopLocationOriginResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationRollingAverage AttackLayer7TopLocationOriginResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationOverlappedPercentage AttackLayer7TopLocationOriginResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopLocationOriginResponseMetaNormalizationRatio AttackLayer7TopLocationOriginResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopLocationOriginResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopLocationOriginResponseTop0` - `OriginCountryAlpha2 string` - `OriginCountryName string` - `Rank float64` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Locations.Origin(context.TODO(), radar.AttackLayer7TopLocationOriginParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "originCountryAlpha2": "FR", "originCountryName": "France", "rank": 1, "value": "4.323214" } ] }, "success": true } ``` ## Get top target locations of layer 7 attacks `client.Radar.Attacks.Layer7.Top.Locations.Target(ctx, query) (*AttackLayer7TopLocationTargetResponse, error)` **get** `/radar/attacks/layer7/top/locations/target` Retrieves the top target locations of and by layer 7 attacks. Values are a percentage out of the total layer 7 attacks. The target location is determined by the attacked zone's billing country, when available. ### Parameters - `query AttackLayer7TopLocationTargetParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopLocationTargetParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopLocationTargetParamsFormatJson AttackLayer7TopLocationTargetParamsFormat = "JSON"` - `const AttackLayer7TopLocationTargetParamsFormatCsv AttackLayer7TopLocationTargetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `MitigationProduct param.Field[[]AttackLayer7TopLocationTargetParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopLocationTargetParamsMitigationProductDDoS AttackLayer7TopLocationTargetParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopLocationTargetParamsMitigationProductWAF AttackLayer7TopLocationTargetParamsMitigationProduct = "WAF"` - `const AttackLayer7TopLocationTargetParamsMitigationProductBotManagement AttackLayer7TopLocationTargetParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopLocationTargetParamsMitigationProductAccessRules AttackLayer7TopLocationTargetParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopLocationTargetParamsMitigationProductIPReputation AttackLayer7TopLocationTargetParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopLocationTargetParamsMitigationProductAPIShield AttackLayer7TopLocationTargetParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopLocationTargetParamsMitigationProductDataLossPrevention AttackLayer7TopLocationTargetParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7TopLocationTargetResponse struct{…}` - `Meta AttackLayer7TopLocationTargetResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopLocationTargetResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopLocationTargetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopLocationTargetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopLocationTargetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopLocationTargetResponseMetaNormalizationPercentage AttackLayer7TopLocationTargetResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationMin0Max AttackLayer7TopLocationTargetResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationMinMax AttackLayer7TopLocationTargetResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationRawValues AttackLayer7TopLocationTargetResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationPercentageChange AttackLayer7TopLocationTargetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationRollingAverage AttackLayer7TopLocationTargetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationOverlappedPercentage AttackLayer7TopLocationTargetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopLocationTargetResponseMetaNormalizationRatio AttackLayer7TopLocationTargetResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopLocationTargetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopLocationTargetResponseTop0` - `Rank float64` - `TargetCountryAlpha2 string` - `TargetCountryName string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Locations.Target(context.TODO(), radar.AttackLayer7TopLocationTargetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "rank": 1, "targetCountryAlpha2": "FR", "targetCountryName": "France", "value": "4.323214" } ] }, "success": true } ``` # Ases ## Get top origin ASes of layer 7 attacks `client.Radar.Attacks.Layer7.Top.Ases.Origin(ctx, query) (*AttackLayer7TopAseOriginResponse, error)` **get** `/radar/attacks/layer7/top/ases/origin` Retrieves the top origin autonomous systems of layer 7 attacks. Values are percentages of the total layer 7 attacks, with the origin autonomous systems determined by the client IP address. ### Parameters - `query AttackLayer7TopAseOriginParams` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[AttackLayer7TopAseOriginParamsFormat]` Format in which results will be returned. - `const AttackLayer7TopAseOriginParamsFormatJson AttackLayer7TopAseOriginParamsFormat = "JSON"` - `const AttackLayer7TopAseOriginParamsFormatCsv AttackLayer7TopAseOriginParamsFormat = "CSV"` - `HTTPMethod param.Field[[]AttackLayer7TopAseOriginParamsHTTPMethod]` Filters results by HTTP method. - `const AttackLayer7TopAseOriginParamsHTTPMethodGet AttackLayer7TopAseOriginParamsHTTPMethod = "GET"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPost AttackLayer7TopAseOriginParamsHTTPMethod = "POST"` - `const AttackLayer7TopAseOriginParamsHTTPMethodDelete AttackLayer7TopAseOriginParamsHTTPMethod = "DELETE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPut AttackLayer7TopAseOriginParamsHTTPMethod = "PUT"` - `const AttackLayer7TopAseOriginParamsHTTPMethodHead AttackLayer7TopAseOriginParamsHTTPMethod = "HEAD"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPurge AttackLayer7TopAseOriginParamsHTTPMethod = "PURGE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodOptions AttackLayer7TopAseOriginParamsHTTPMethod = "OPTIONS"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPropfind AttackLayer7TopAseOriginParamsHTTPMethod = "PROPFIND"` - `const AttackLayer7TopAseOriginParamsHTTPMethodMkcol AttackLayer7TopAseOriginParamsHTTPMethod = "MKCOL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPatch AttackLayer7TopAseOriginParamsHTTPMethod = "PATCH"` - `const AttackLayer7TopAseOriginParamsHTTPMethodACL AttackLayer7TopAseOriginParamsHTTPMethod = "ACL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBcopy AttackLayer7TopAseOriginParamsHTTPMethod = "BCOPY"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBdelete AttackLayer7TopAseOriginParamsHTTPMethod = "BDELETE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBmove AttackLayer7TopAseOriginParamsHTTPMethod = "BMOVE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBpropfind AttackLayer7TopAseOriginParamsHTTPMethod = "BPROPFIND"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBproppatch AttackLayer7TopAseOriginParamsHTTPMethod = "BPROPPATCH"` - `const AttackLayer7TopAseOriginParamsHTTPMethodCheckin AttackLayer7TopAseOriginParamsHTTPMethod = "CHECKIN"` - `const AttackLayer7TopAseOriginParamsHTTPMethodCheckout AttackLayer7TopAseOriginParamsHTTPMethod = "CHECKOUT"` - `const AttackLayer7TopAseOriginParamsHTTPMethodConnect AttackLayer7TopAseOriginParamsHTTPMethod = "CONNECT"` - `const AttackLayer7TopAseOriginParamsHTTPMethodCopy AttackLayer7TopAseOriginParamsHTTPMethod = "COPY"` - `const AttackLayer7TopAseOriginParamsHTTPMethodLabel AttackLayer7TopAseOriginParamsHTTPMethod = "LABEL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodLock AttackLayer7TopAseOriginParamsHTTPMethod = "LOCK"` - `const AttackLayer7TopAseOriginParamsHTTPMethodMerge AttackLayer7TopAseOriginParamsHTTPMethod = "MERGE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodMkactivity AttackLayer7TopAseOriginParamsHTTPMethod = "MKACTIVITY"` - `const AttackLayer7TopAseOriginParamsHTTPMethodMkworkspace AttackLayer7TopAseOriginParamsHTTPMethod = "MKWORKSPACE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodMove AttackLayer7TopAseOriginParamsHTTPMethod = "MOVE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodNotify AttackLayer7TopAseOriginParamsHTTPMethod = "NOTIFY"` - `const AttackLayer7TopAseOriginParamsHTTPMethodOrderpatch AttackLayer7TopAseOriginParamsHTTPMethod = "ORDERPATCH"` - `const AttackLayer7TopAseOriginParamsHTTPMethodPoll AttackLayer7TopAseOriginParamsHTTPMethod = "POLL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodProppatch AttackLayer7TopAseOriginParamsHTTPMethod = "PROPPATCH"` - `const AttackLayer7TopAseOriginParamsHTTPMethodReport AttackLayer7TopAseOriginParamsHTTPMethod = "REPORT"` - `const AttackLayer7TopAseOriginParamsHTTPMethodSearch AttackLayer7TopAseOriginParamsHTTPMethod = "SEARCH"` - `const AttackLayer7TopAseOriginParamsHTTPMethodSubscribe AttackLayer7TopAseOriginParamsHTTPMethod = "SUBSCRIBE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodTrace AttackLayer7TopAseOriginParamsHTTPMethod = "TRACE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodUncheckout AttackLayer7TopAseOriginParamsHTTPMethod = "UNCHECKOUT"` - `const AttackLayer7TopAseOriginParamsHTTPMethodUnlock AttackLayer7TopAseOriginParamsHTTPMethod = "UNLOCK"` - `const AttackLayer7TopAseOriginParamsHTTPMethodUnsubscribe AttackLayer7TopAseOriginParamsHTTPMethod = "UNSUBSCRIBE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodUpdate AttackLayer7TopAseOriginParamsHTTPMethod = "UPDATE"` - `const AttackLayer7TopAseOriginParamsHTTPMethodVersioncontrol AttackLayer7TopAseOriginParamsHTTPMethod = "VERSIONCONTROL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodBaselinecontrol AttackLayer7TopAseOriginParamsHTTPMethod = "BASELINECONTROL"` - `const AttackLayer7TopAseOriginParamsHTTPMethodXmsenumatts AttackLayer7TopAseOriginParamsHTTPMethod = "XMSENUMATTS"` - `const AttackLayer7TopAseOriginParamsHTTPMethodRpcOutData AttackLayer7TopAseOriginParamsHTTPMethod = "RPC_OUT_DATA"` - `const AttackLayer7TopAseOriginParamsHTTPMethodRpcInData AttackLayer7TopAseOriginParamsHTTPMethod = "RPC_IN_DATA"` - `const AttackLayer7TopAseOriginParamsHTTPMethodJson AttackLayer7TopAseOriginParamsHTTPMethod = "JSON"` - `const AttackLayer7TopAseOriginParamsHTTPMethodCook AttackLayer7TopAseOriginParamsHTTPMethod = "COOK"` - `const AttackLayer7TopAseOriginParamsHTTPMethodTrack AttackLayer7TopAseOriginParamsHTTPMethod = "TRACK"` - `HTTPVersion param.Field[[]AttackLayer7TopAseOriginParamsHTTPVersion]` Filters results by HTTP version. - `const AttackLayer7TopAseOriginParamsHTTPVersionHttPv1 AttackLayer7TopAseOriginParamsHTTPVersion = "HTTPv1"` - `const AttackLayer7TopAseOriginParamsHTTPVersionHttPv2 AttackLayer7TopAseOriginParamsHTTPVersion = "HTTPv2"` - `const AttackLayer7TopAseOriginParamsHTTPVersionHttPv3 AttackLayer7TopAseOriginParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]AttackLayer7TopAseOriginParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const AttackLayer7TopAseOriginParamsIPVersionIPv4 AttackLayer7TopAseOriginParamsIPVersion = "IPv4"` - `const AttackLayer7TopAseOriginParamsIPVersionIPv6 AttackLayer7TopAseOriginParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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. - `MitigationProduct param.Field[[]AttackLayer7TopAseOriginParamsMitigationProduct]` Filters the results by layer 7 mitigation product. - `const AttackLayer7TopAseOriginParamsMitigationProductDDoS AttackLayer7TopAseOriginParamsMitigationProduct = "DDOS"` - `const AttackLayer7TopAseOriginParamsMitigationProductWAF AttackLayer7TopAseOriginParamsMitigationProduct = "WAF"` - `const AttackLayer7TopAseOriginParamsMitigationProductBotManagement AttackLayer7TopAseOriginParamsMitigationProduct = "BOT_MANAGEMENT"` - `const AttackLayer7TopAseOriginParamsMitigationProductAccessRules AttackLayer7TopAseOriginParamsMitigationProduct = "ACCESS_RULES"` - `const AttackLayer7TopAseOriginParamsMitigationProductIPReputation AttackLayer7TopAseOriginParamsMitigationProduct = "IP_REPUTATION"` - `const AttackLayer7TopAseOriginParamsMitigationProductAPIShield AttackLayer7TopAseOriginParamsMitigationProduct = "API_SHIELD"` - `const AttackLayer7TopAseOriginParamsMitigationProductDataLossPrevention AttackLayer7TopAseOriginParamsMitigationProduct = "DATA_LOSS_PREVENTION"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type AttackLayer7TopAseOriginResponse struct{…}` - `Meta AttackLayer7TopAseOriginResponseMeta` Metadata for the results. - `ConfidenceInfo AttackLayer7TopAseOriginResponseMetaConfidenceInfo` - `Annotations []AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotation` - `DataSource AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer7TopAseOriginResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []AttackLayer7TopAseOriginResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization AttackLayer7TopAseOriginResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const AttackLayer7TopAseOriginResponseMetaNormalizationPercentage AttackLayer7TopAseOriginResponseMetaNormalization = "PERCENTAGE"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationMin0Max AttackLayer7TopAseOriginResponseMetaNormalization = "MIN0_MAX"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationMinMax AttackLayer7TopAseOriginResponseMetaNormalization = "MIN_MAX"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationRawValues AttackLayer7TopAseOriginResponseMetaNormalization = "RAW_VALUES"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationPercentageChange AttackLayer7TopAseOriginResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationRollingAverage AttackLayer7TopAseOriginResponseMetaNormalization = "ROLLING_AVERAGE"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationOverlappedPercentage AttackLayer7TopAseOriginResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const AttackLayer7TopAseOriginResponseMetaNormalizationRatio AttackLayer7TopAseOriginResponseMetaNormalization = "RATIO"` - `Units []AttackLayer7TopAseOriginResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []AttackLayer7TopAseOriginResponseTop0` - `OriginASN string` - `OriginASNName string` - `Rank float64` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Attacks.Layer7.Top.Ases.Origin(context.TODO(), radar.AttackLayer7TopAseOriginParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "originAsn": "55836", "originAsnName": "RELIANCEJIO-IN Reliance Jio Infocomm Limited", "rank": 1, "value": "4.323214" } ] }, "success": true } ``` # Entities ## Get IP address details `client.Radar.Entities.Get(ctx, query) (*EntityGetResponse, error)` **get** `/radar/entities/ip` Retrieves IP address information. ### Parameters - `query EntityGetParams` - `IP param.Field[string]` IP address. - `Format param.Field[EntityGetParamsFormat]` Format in which results will be returned. - `const EntityGetParamsFormatJson EntityGetParamsFormat = "JSON"` - `const EntityGetParamsFormatCsv EntityGetParamsFormat = "CSV"` ### Returns - `type EntityGetResponse struct{…}` - `IP EntityGetResponseIP` - `ASN string` - `ASNLocation string` - `ASNName string` - `ASNOrgName string` - `IP string` - `IPVersion string` - `Location string` - `LocationName string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) entity, err := client.Radar.Entities.Get(context.TODO(), radar.EntityGetParams{ IP: cloudflare.F("8.8.8.8"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", entity.IP) } ``` #### Response ```json { "result": { "ip": { "asn": "15169", "asnLocation": "US", "asnName": "GOOGLE", "asnOrgName": "Google LLC", "ip": "8.8.8.8", "ipVersion": "IPv4", "location": "GB", "locationName": "United Kingdom" } }, "success": true } ``` # ASNs ## List autonomous systems `client.Radar.Entities.ASNs.List(ctx, query) (*EntityASNListResponse, error)` **get** `/radar/entities/asns` Retrieves a list of autonomous systems. ### Parameters - `query EntityASNListParams` - `ASN param.Field[string]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. - `Format param.Field[EntityASNListParamsFormat]` Format in which results will be returned. - `const EntityASNListParamsFormatJson EntityASNListParamsFormat = "JSON"` - `const EntityASNListParamsFormatCsv EntityASNListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `OrderBy param.Field[EntityASNListParamsOrderBy]` Specifies the metric to order the ASNs by. - `const EntityASNListParamsOrderByASN EntityASNListParamsOrderBy = "ASN"` - `const EntityASNListParamsOrderByPopulation EntityASNListParamsOrderBy = "POPULATION"` ### Returns - `type EntityASNListResponse struct{…}` - `ASNs []EntityASNListResponseASN` - `ASN int64` - `Country string` - `CountryName string` - `Name string` - `Aka string` - `OrgName string` - `Website string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) asns, err := client.Radar.Entities.ASNs.List(context.TODO(), radar.EntityASNListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", asns.ASNs) } ``` #### Response ```json { "result": { "asns": [ { "asn": 714, "country": "GB", "countryName": "United Kingdom", "name": "Apple Inc.", "aka": "aka", "orgName": "orgName", "website": "https://www.apple.com/support/systemstatus/" } ] }, "success": true } ``` ## Get AS details by ASN `client.Radar.Entities.ASNs.Get(ctx, asn, query) (*EntityASNGetResponse, error)` **get** `/radar/entities/asns/{asn}` Retrieves the requested autonomous system information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this AS). Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526). ### Parameters - `asn int64` Single Autonomous System Number (ASN) as integer. - `query EntityASNGetParams` - `Format param.Field[EntityASNGetParamsFormat]` Format in which results will be returned. - `const EntityASNGetParamsFormatJson EntityASNGetParamsFormat = "JSON"` - `const EntityASNGetParamsFormatCsv EntityASNGetParamsFormat = "CSV"` ### Returns - `type EntityASNGetResponse struct{…}` - `ASN EntityASNGetResponseASN` - `ASN int64` - `ConfidenceLevel int64` - `Country string` - `CountryName string` - `EstimatedUsers EntityASNGetResponseASNEstimatedUsers` - `Locations []EntityASNGetResponseASNEstimatedUsersLocation` - `LocationAlpha2 string` - `LocationName string` - `EstimatedUsers int64` Estimated users per location. - `EstimatedUsers int64` Total estimated users. - `Name string` - `OrgName string` - `Related []EntityASNGetResponseASNRelated` - `ASN int64` - `Name string` - `Aka string` - `EstimatedUsers int64` Total estimated users. - `Source string` Regional Internet Registry. - `Website string` - `Aka string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) asn, err := client.Radar.Entities.ASNs.Get( context.TODO(), int64(174), radar.EntityASNGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", asn.ASN) } ``` #### Response ```json { "result": { "asn": { "asn": 714, "confidenceLevel": 5, "country": "GB", "countryName": "United Kingdom", "estimatedUsers": { "locations": [ { "locationAlpha2": "US", "locationName": "United States", "estimatedUsers": 16710 } ], "estimatedUsers": 86099 }, "name": "Apple Inc.", "orgName": "orgName", "related": [ { "asn": 174, "name": "Cogent-174", "aka": "aka", "estimatedUsers": 65345 } ], "source": "RIPE", "website": "https://www.apple.com/support/systemstatus/", "aka": "aka" } }, "success": true } ``` ## Get AS-level relationships by ASN `client.Radar.Entities.ASNs.Rel(ctx, asn, query) (*EntityASNRelResponse, error)` **get** `/radar/entities/asns/{asn}/rel` Retrieves AS-level relationship for given networks. ### Parameters - `asn int64` Retrieves all ASNs with provider-customer or peering relationships with the given ASN. - `query EntityASNRelParams` - `Asn2 param.Field[int64]` Retrieves the AS relationship of ASN2 with respect to the given ASN. - `Format param.Field[EntityASNRelParamsFormat]` Format in which results will be returned. - `const EntityASNRelParamsFormatJson EntityASNRelParamsFormat = "JSON"` - `const EntityASNRelParamsFormatCsv EntityASNRelParamsFormat = "CSV"` ### Returns - `type EntityASNRelResponse struct{…}` - `Meta EntityASNRelResponseMeta` - `DataTime string` - `QueryTime string` - `TotalPeers int64` - `Rels []EntityASNRelResponseRel` - `Asn1 int64` - `Asn1Country string` - `Asn1Name string` - `Asn2 int64` - `Asn2Country string` - `Asn2Name string` - `Rel string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Entities.ASNs.Rel( context.TODO(), int64(3), radar.EntityASNRelParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "data_time": "data_time", "query_time": "query_time", "total_peers": 0 }, "rels": [ { "asn1": 0, "asn1_country": "asn1_country", "asn1_name": "asn1_name", "asn2": 0, "asn2_country": "asn2_country", "asn2_name": "asn2_name", "rel": "rel" } ] }, "success": true } ``` ## Get IRR AS-SETs that an AS is a member of `client.Radar.Entities.ASNs.AsSet(ctx, asn, query) (*EntityASNAsSetResponse, error)` **get** `/radar/entities/asns/{asn}/as_set` Retrieves Internet Routing Registry AS-SETs that an AS is a member of. ### Parameters - `asn int64` Retrieves all AS-SETs that the given AS is a member of. - `query EntityASNAsSetParams` - `Format param.Field[EntityASNAsSetParamsFormat]` Format in which results will be returned. - `const EntityASNAsSetParamsFormatJson EntityASNAsSetParamsFormat = "JSON"` - `const EntityASNAsSetParamsFormatCsv EntityASNAsSetParamsFormat = "CSV"` ### Returns - `type EntityASNAsSetResponse struct{…}` - `AsSets []EntityASNAsSetResponseAsSet` - `AsMembersCount int64` The number of AS members in the AS-SET - `AsSetMembersCount int64` The number of AS-SET members in the AS-SET - `AsSetUpstreamsCount int64` The number of recursive upstream AS-SETs - `ASNConeSize int64` The number of unique ASNs in the AS-SETs recursive downstream - `IrrSources []string` The IRR sources of the AS-SET - `Name string` The name of the AS-SET - `HierarchicalASN int64` The AS number following hierarchical AS-SET name - `InferredASN int64` The inferred AS number of the AS-SET - `PeeringdbASN int64` The AS number matching PeeringDB record - `Paths [][]string` Paths from the AS-SET that include the given AS to its upstreams recursively ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Entities.ASNs.AsSet( context.TODO(), int64(3), radar.EntityASNAsSetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.AsSets) } ``` #### Response ```json { "result": { "as_sets": [ { "as_members_count": 0, "as_set_members_count": 0, "as_set_upstreams_count": 0, "asn_cone_size": 0, "irr_sources": [ "string" ], "name": "name", "hierarchical_asn": 0, "inferred_asn": 0, "peeringdb_asn": 0 } ], "paths": [ [ "string" ] ] }, "success": true } ``` ## Get AS details by IP address `client.Radar.Entities.ASNs.IP(ctx, query) (*EntityAsnipResponse, error)` **get** `/radar/entities/asns/ip` Retrieves the requested autonomous system information based on IP address. Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526). ### Parameters - `query EntityASNIPParams` - `IP param.Field[string]` IP address. - `Format param.Field[EntityAsnipParamsFormat]` Format in which results will be returned. - `const EntityAsnipParamsFormatJson EntityAsnipParamsFormat = "JSON"` - `const EntityAsnipParamsFormatCsv EntityAsnipParamsFormat = "CSV"` ### Returns - `type EntityAsnipResponse struct{…}` - `ASN EntityAsnipResponseASN` - `ASN int64` - `Country string` - `CountryName string` - `EstimatedUsers EntityAsnipResponseASNEstimatedUsers` - `Locations []EntityAsnipResponseASNEstimatedUsersLocation` - `LocationAlpha2 string` - `LocationName string` - `EstimatedUsers int64` Estimated users per location. - `EstimatedUsers int64` Total estimated users. - `Name string` - `OrgName string` - `Related []EntityAsnipResponseASNRelated` - `ASN int64` - `Name string` - `Aka string` - `EstimatedUsers int64` Total estimated users. - `Source string` Regional Internet Registry. - `Website string` - `Aka string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Entities.ASNs.IP(context.TODO(), radar.EntityASNIPParams{ IP: cloudflare.F("8.8.8.8"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ASN) } ``` #### Response ```json { "result": { "asn": { "asn": 714, "country": "GB", "countryName": "United Kingdom", "estimatedUsers": { "locations": [ { "locationAlpha2": "US", "locationName": "United States", "estimatedUsers": 16710 } ], "estimatedUsers": 86099 }, "name": "Apple Inc.", "orgName": "orgName", "related": [ { "asn": 0, "name": "name", "aka": "aka", "estimatedUsers": 65345 } ], "source": "RIPE", "website": "https://www.apple.com/support/systemstatus/", "aka": "aka" } }, "success": true } ``` ## Get AS rankings by botnet threat feed activity `client.Radar.Entities.ASNs.BotnetThreatFeed(ctx, query) (*EntityASNBotnetThreatFeedResponse, error)` **get** `/radar/entities/asns/botnet_threat_feed` Retrieves a ranked list of Autonomous Systems based on their presence in the Cloudflare Botnet Threat Feed. Rankings can be sorted by offense count or number of bad IPs. Optionally compare to a previous date to see rank changes. ### Parameters - `query EntityASNBotnetThreatFeedParams` - `ASN param.Field[[]string]` 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. - `CompareDateRange param.Field[string]` Relative date range for rank change comparison (e.g., "1d", "7d", "30d"). - `Date param.Field[Time]` The date to retrieve (YYYY-MM-DD format). If not specified, returns the most recent available data. Note: This is the date the report was generated. The report is generated from information collected from the previous day (e.g., the 2026-02-23 entry contains data from 2026-02-22). - `Format param.Field[EntityASNBotnetThreatFeedParamsFormat]` Format in which results will be returned. - `const EntityASNBotnetThreatFeedParamsFormatJson EntityASNBotnetThreatFeedParamsFormat = "JSON"` - `const EntityASNBotnetThreatFeedParamsFormatCsv EntityASNBotnetThreatFeedParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Metric param.Field[EntityASNBotnetThreatFeedParamsMetric]` Metric to rank ASNs by. - `const EntityASNBotnetThreatFeedParamsMetricOffenseCount EntityASNBotnetThreatFeedParamsMetric = "OFFENSE_COUNT"` - `const EntityASNBotnetThreatFeedParamsMetricNumberOfOffendingIPs EntityASNBotnetThreatFeedParamsMetric = "NUMBER_OF_OFFENDING_IPS"` - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `SortOrder param.Field[EntityASNBotnetThreatFeedParamsSortOrder]` Sort order. - `const EntityASNBotnetThreatFeedParamsSortOrderAsc EntityASNBotnetThreatFeedParamsSortOrder = "ASC"` - `const EntityASNBotnetThreatFeedParamsSortOrderDesc EntityASNBotnetThreatFeedParamsSortOrder = "DESC"` ### Returns - `type EntityASNBotnetThreatFeedResponse struct{…}` - `Ases []EntityASNBotnetThreatFeedResponseAse` - `ASN int64` - `Country string` - `Name string` - `Rank int64` - `RankChange int64` - `Meta EntityASNBotnetThreatFeedResponseMeta` - `Date string` - `Total int64` - `CompareDate string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Entities.ASNs.BotnetThreatFeed(context.TODO(), radar.EntityASNBotnetThreatFeedParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Ases) } ``` #### Response ```json { "result": { "ases": [ { "asn": 4134, "country": "CN", "name": "CHINANET-BACKBONE", "rank": 1, "rankChange": -2 } ], "meta": { "date": "2026-02-04", "total": 50, "compareDate": "2026-01-28" } }, "success": true } ``` # Locations ## List locations `client.Radar.Entities.Locations.List(ctx, query) (*EntityLocationListResponse, error)` **get** `/radar/entities/locations` Retrieves a list of locations. ### Parameters - `query EntityLocationListParams` - `Continent param.Field[EntityLocationListParamsContinent]` Filters results by continent code. - `const EntityLocationListParamsContinentAf EntityLocationListParamsContinent = "AF"` - `const EntityLocationListParamsContinentAs EntityLocationListParamsContinent = "AS"` - `const EntityLocationListParamsContinentEu EntityLocationListParamsContinent = "EU"` - `const EntityLocationListParamsContinentNa EntityLocationListParamsContinent = "NA"` - `const EntityLocationListParamsContinentOc EntityLocationListParamsContinent = "OC"` - `const EntityLocationListParamsContinentSa EntityLocationListParamsContinent = "SA"` - `Format param.Field[EntityLocationListParamsFormat]` Format in which results will be returned. - `const EntityLocationListParamsFormatJson EntityLocationListParamsFormat = "JSON"` - `const EntityLocationListParamsFormatCsv EntityLocationListParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `Region param.Field[string]` Filters results by region. - `Subregion param.Field[string]` Filters results by subregion. ### Returns - `type EntityLocationListResponse struct{…}` - `Locations []EntityLocationListResponseLocation` - `Alpha2 string` - `Continent string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Region string` - `Subregion string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) locations, err := client.Radar.Entities.Locations.List(context.TODO(), radar.EntityLocationListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", locations.Locations) } ``` #### Response ```json { "result": { "locations": [ { "alpha2": "AF", "continent": "AS", "latitude": "10", "longitude": "10", "name": "Afghanistan", "region": "Middle East", "subregion": "Southern Asia" } ] }, "success": true } ``` ## Get location details `client.Radar.Entities.Locations.Get(ctx, location, query) (*EntityLocationGetResponse, error)` **get** `/radar/entities/locations/{location}` Retrieves the requested location information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this location). ### Parameters - `location string` Location alpha-2 code. - `query EntityLocationGetParams` - `Format param.Field[EntityLocationGetParamsFormat]` Format in which results will be returned. - `const EntityLocationGetParamsFormatJson EntityLocationGetParamsFormat = "JSON"` - `const EntityLocationGetParamsFormatCsv EntityLocationGetParamsFormat = "CSV"` ### Returns - `type EntityLocationGetResponse struct{…}` - `Location EntityLocationGetResponseLocation` - `Alpha2 string` - `ConfidenceLevel int64` - `Continent string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Region string` - `Subregion string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) location, err := client.Radar.Entities.Locations.Get( context.TODO(), "US", radar.EntityLocationGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", location.Location) } ``` #### Response ```json { "result": { "location": { "alpha2": "AF", "confidenceLevel": 5, "continent": "AS", "latitude": "10", "longitude": "10", "name": "Afghanistan", "region": "Middle East", "subregion": "Southern Asia" } }, "success": true } ``` # Geolocations ## List Geolocations `client.Radar.Geolocations.List(ctx, query) (*GeolocationListResponse, error)` **get** `/radar/geolocations` Retrieves a list of geolocations. Geolocation names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). ### Parameters - `query GeolocationListParams` - `Format param.Field[GeolocationListParamsFormat]` Format in which results will be returned. - `const GeolocationListParamsFormatJson GeolocationListParamsFormat = "JSON"` - `const GeolocationListParamsFormatCsv GeolocationListParamsFormat = "CSV"` - `GeoID param.Field[string]` Filters results by geolocation. Specify a comma-separated list of GeoNames IDs. - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. ### Returns - `type GeolocationListResponse struct{…}` - `Geolocations []GeolocationListResponseGeolocation` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Parent GeolocationListResponseGeolocationsParent` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Parent GeolocationListResponseGeolocationsParentParent` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Type GeolocationListResponseGeolocationsParentParentType` The type of the geolocation. - `const GeolocationListResponseGeolocationsParentParentTypeContinent GeolocationListResponseGeolocationsParentParentType = "CONTINENT"` - `const GeolocationListResponseGeolocationsParentParentTypeCountry GeolocationListResponseGeolocationsParentParentType = "COUNTRY"` - `const GeolocationListResponseGeolocationsParentParentTypeAdm1 GeolocationListResponseGeolocationsParentParentType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation - `Type GeolocationListResponseGeolocationsParentType` The type of the geolocation. - `const GeolocationListResponseGeolocationsParentTypeContinent GeolocationListResponseGeolocationsParentType = "CONTINENT"` - `const GeolocationListResponseGeolocationsParentTypeCountry GeolocationListResponseGeolocationsParentType = "COUNTRY"` - `const GeolocationListResponseGeolocationsParentTypeAdm1 GeolocationListResponseGeolocationsParentType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation - `Type GeolocationListResponseGeolocationsType` The type of the geolocation. - `const GeolocationListResponseGeolocationsTypeContinent GeolocationListResponseGeolocationsType = "CONTINENT"` - `const GeolocationListResponseGeolocationsTypeCountry GeolocationListResponseGeolocationsType = "COUNTRY"` - `const GeolocationListResponseGeolocationsTypeAdm1 GeolocationListResponseGeolocationsType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) geolocations, err := client.Radar.Geolocations.List(context.TODO(), radar.GeolocationListParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", geolocations.Geolocations) } ``` #### Response ```json { "result": { "geolocations": [ { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "parent": { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "parent": { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" }, "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" }, "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" } ] }, "success": true } ``` ## Get Geolocation details `client.Radar.Geolocations.Get(ctx, geoID, query) (*GeolocationGetResponse, error)` **get** `/radar/geolocations/{geo_id}` Retrieves the requested Geolocation information. Geolocation names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). ### Parameters - `geoID string` Geolocation ID. Refer to [GeoNames](https://download.geonames.org/export/dump/readme.txt) - `query GeolocationGetParams` - `Format param.Field[GeolocationGetParamsFormat]` Format in which results will be returned. - `const GeolocationGetParamsFormatJson GeolocationGetParamsFormat = "JSON"` - `const GeolocationGetParamsFormatCsv GeolocationGetParamsFormat = "CSV"` ### Returns - `type GeolocationGetResponse struct{…}` - `Geolocation GeolocationGetResponseGeolocation` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Parent GeolocationGetResponseGeolocationParent` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Parent GeolocationGetResponseGeolocationParentParent` - `GeoID string` - `Latitude string` A numeric string. - `Longitude string` A numeric string. - `Name string` - `Type GeolocationGetResponseGeolocationParentParentType` The type of the geolocation. - `const GeolocationGetResponseGeolocationParentParentTypeContinent GeolocationGetResponseGeolocationParentParentType = "CONTINENT"` - `const GeolocationGetResponseGeolocationParentParentTypeCountry GeolocationGetResponseGeolocationParentParentType = "COUNTRY"` - `const GeolocationGetResponseGeolocationParentParentTypeAdm1 GeolocationGetResponseGeolocationParentParentType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation - `Type GeolocationGetResponseGeolocationParentType` The type of the geolocation. - `const GeolocationGetResponseGeolocationParentTypeContinent GeolocationGetResponseGeolocationParentType = "CONTINENT"` - `const GeolocationGetResponseGeolocationParentTypeCountry GeolocationGetResponseGeolocationParentType = "COUNTRY"` - `const GeolocationGetResponseGeolocationParentTypeAdm1 GeolocationGetResponseGeolocationParentType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation - `Type GeolocationGetResponseGeolocationType` The type of the geolocation. - `const GeolocationGetResponseGeolocationTypeContinent GeolocationGetResponseGeolocationType = "CONTINENT"` - `const GeolocationGetResponseGeolocationTypeCountry GeolocationGetResponseGeolocationType = "COUNTRY"` - `const GeolocationGetResponseGeolocationTypeAdm1 GeolocationGetResponseGeolocationType = "ADM1"` - `Code string` - `Locale string` BCP 47 locale code used for the geolocation name translation ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) geolocation, err := client.Radar.Geolocations.Get( context.TODO(), "3190509", radar.GeolocationGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", geolocation.Geolocation) } ``` #### Response ```json { "result": { "geolocation": { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "parent": { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "parent": { "geoId": "2267056", "latitude": "10", "longitude": "10", "name": "Lisbon", "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" }, "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" }, "type": "CONTINENT", "code": "PT-11", "locale": "pt-PT" } }, "success": true } ``` # HTTP ## Get HTTP requests summary by dimension `client.Radar.HTTP.SummaryV2(ctx, dimension, query) (*HTTPSummaryV2Response, error)` **get** `/radar/http/summary/{dimension}` Retrieves the distribution of HTTP requests by the specified dimension. ### Parameters - `dimension HTTPSummaryV2ParamsDimension` Specifies the HTTP attribute by which to group the results. - `const HTTPSummaryV2ParamsDimensionAdm1 HTTPSummaryV2ParamsDimension = "ADM1"` - `const HTTPSummaryV2ParamsDimensionAs HTTPSummaryV2ParamsDimension = "AS"` - `const HTTPSummaryV2ParamsDimensionBotClass HTTPSummaryV2ParamsDimension = "BOT_CLASS"` - `const HTTPSummaryV2ParamsDimensionBrowser HTTPSummaryV2ParamsDimension = "BROWSER"` - `const HTTPSummaryV2ParamsDimensionBrowserFamily HTTPSummaryV2ParamsDimension = "BROWSER_FAMILY"` - `const HTTPSummaryV2ParamsDimensionDeviceType HTTPSummaryV2ParamsDimension = "DEVICE_TYPE"` - `const HTTPSummaryV2ParamsDimensionHTTPProtocol HTTPSummaryV2ParamsDimension = "HTTP_PROTOCOL"` - `const HTTPSummaryV2ParamsDimensionHTTPVersion HTTPSummaryV2ParamsDimension = "HTTP_VERSION"` - `const HTTPSummaryV2ParamsDimensionIPVersion HTTPSummaryV2ParamsDimension = "IP_VERSION"` - `const HTTPSummaryV2ParamsDimensionLocation HTTPSummaryV2ParamsDimension = "LOCATION"` - `const HTTPSummaryV2ParamsDimensionOS HTTPSummaryV2ParamsDimension = "OS"` - `const HTTPSummaryV2ParamsDimensionPostQuantum HTTPSummaryV2ParamsDimension = "POST_QUANTUM"` - `const HTTPSummaryV2ParamsDimensionTLSVersion HTTPSummaryV2ParamsDimension = "TLS_VERSION"` - `query HTTPSummaryV2Params` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryV2ParamsBotClassLikelyAutomated HTTPSummaryV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryV2ParamsBotClassLikelyHuman HTTPSummaryV2ParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryV2ParamsDeviceType]` Filters results by device type. - `const HTTPSummaryV2ParamsDeviceTypeDesktop HTTPSummaryV2ParamsDeviceType = "DESKTOP"` - `const HTTPSummaryV2ParamsDeviceTypeMobile HTTPSummaryV2ParamsDeviceType = "MOBILE"` - `const HTTPSummaryV2ParamsDeviceTypeOther HTTPSummaryV2ParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryV2ParamsFormat]` Format in which results will be returned. - `const HTTPSummaryV2ParamsFormatJson HTTPSummaryV2ParamsFormat = "JSON"` - `const HTTPSummaryV2ParamsFormatCsv HTTPSummaryV2ParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryV2ParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryV2ParamsHTTPProtocolHTTP HTTPSummaryV2ParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryV2ParamsHTTPProtocolHTTPS HTTPSummaryV2ParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryV2ParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryV2ParamsHTTPVersionHttPv1 HTTPSummaryV2ParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryV2ParamsHTTPVersionHttPv2 HTTPSummaryV2ParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryV2ParamsHTTPVersionHttPv3 HTTPSummaryV2ParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryV2ParamsIPVersionIPv4 HTTPSummaryV2ParamsIPVersion = "IPv4"` - `const HTTPSummaryV2ParamsIPVersionIPv6 HTTPSummaryV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryV2ParamsOS]` Filters results by operating system. - `const HTTPSummaryV2ParamsOSWindows HTTPSummaryV2ParamsOS = "WINDOWS"` - `const HTTPSummaryV2ParamsOSMacosx HTTPSummaryV2ParamsOS = "MACOSX"` - `const HTTPSummaryV2ParamsOSIos HTTPSummaryV2ParamsOS = "IOS"` - `const HTTPSummaryV2ParamsOSAndroid HTTPSummaryV2ParamsOS = "ANDROID"` - `const HTTPSummaryV2ParamsOSChromeos HTTPSummaryV2ParamsOS = "CHROMEOS"` - `const HTTPSummaryV2ParamsOSLinux HTTPSummaryV2ParamsOS = "LINUX"` - `const HTTPSummaryV2ParamsOSSmartTv HTTPSummaryV2ParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryV2ParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryV2ParamsTLSVersionTlSv1_0 HTTPSummaryV2ParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryV2ParamsTLSVersionTlSv1_1 HTTPSummaryV2ParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryV2ParamsTLSVersionTlSv1_2 HTTPSummaryV2ParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryV2ParamsTLSVersionTlSv1_3 HTTPSummaryV2ParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryV2ParamsTLSVersionTlSvQuic HTTPSummaryV2ParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryV2Response struct{…}` - `Meta HTTPSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryV2ResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryV2ResponseMetaNormalizationPercentage HTTPSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryV2ResponseMetaNormalizationMin0Max HTTPSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryV2ResponseMetaNormalizationMinMax HTTPSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryV2ResponseMetaNormalizationRawValues HTTPSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryV2ResponseMetaNormalizationPercentageChange HTTPSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryV2ResponseMetaNormalizationRollingAverage HTTPSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryV2ResponseMetaNormalizationOverlappedPercentage HTTPSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryV2ResponseMetaNormalizationRatio HTTPSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.SummaryV2( context.TODO(), radar.HTTPSummaryV2ParamsDimensionAdm1, radar.HTTPSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "Chrome": "50.168733", "Firefox": "25.084366" } }, "success": true } ``` ## Get HTTP requests time series `client.Radar.HTTP.Timeseries(ctx, query) (*HTTPTimeseriesResponse, error)` **get** `/radar/http/timeseries` Retrieves the HTTP requests over time. ### Parameters - `query HTTPTimeseriesParams` - `AggInterval param.Field[HTTPTimeseriesParamsAggInterval]` 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/). - `const HTTPTimeseriesParamsAggInterval15m HTTPTimeseriesParamsAggInterval = "15m"` - `const HTTPTimeseriesParamsAggInterval1h HTTPTimeseriesParamsAggInterval = "1h"` - `const HTTPTimeseriesParamsAggInterval1d HTTPTimeseriesParamsAggInterval = "1d"` - `const HTTPTimeseriesParamsAggInterval1w HTTPTimeseriesParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesParamsBotClassLikelyAutomated HTTPTimeseriesParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesParamsBotClassLikelyHuman HTTPTimeseriesParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesParamsBrowserFamilyChrome HTTPTimeseriesParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesParamsBrowserFamilyEdge HTTPTimeseriesParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesParamsBrowserFamilyFirefox HTTPTimeseriesParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesParamsBrowserFamilySafari HTTPTimeseriesParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesParamsDeviceTypeDesktop HTTPTimeseriesParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesParamsDeviceTypeMobile HTTPTimeseriesParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesParamsDeviceTypeOther HTTPTimeseriesParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesParamsFormatJson HTTPTimeseriesParamsFormat = "JSON"` - `const HTTPTimeseriesParamsFormatCsv HTTPTimeseriesParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesParamsHTTPProtocolHTTP HTTPTimeseriesParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesParamsHTTPProtocolHTTPS HTTPTimeseriesParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesParamsHTTPVersionHttPv1 HTTPTimeseriesParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesParamsHTTPVersionHttPv2 HTTPTimeseriesParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesParamsHTTPVersionHttPv3 HTTPTimeseriesParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesParamsIPVersionIPv4 HTTPTimeseriesParamsIPVersion = "IPv4"` - `const HTTPTimeseriesParamsIPVersionIPv6 HTTPTimeseriesParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[HTTPTimeseriesParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesParamsNormalizationPercentageChange HTTPTimeseriesParamsNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesParamsNormalizationMin0Max HTTPTimeseriesParamsNormalization = "MIN0_MAX"` - `OS param.Field[[]HTTPTimeseriesParamsOS]` Filters results by operating system. - `const HTTPTimeseriesParamsOSWindows HTTPTimeseriesParamsOS = "WINDOWS"` - `const HTTPTimeseriesParamsOSMacosx HTTPTimeseriesParamsOS = "MACOSX"` - `const HTTPTimeseriesParamsOSIos HTTPTimeseriesParamsOS = "IOS"` - `const HTTPTimeseriesParamsOSAndroid HTTPTimeseriesParamsOS = "ANDROID"` - `const HTTPTimeseriesParamsOSChromeos HTTPTimeseriesParamsOS = "CHROMEOS"` - `const HTTPTimeseriesParamsOSLinux HTTPTimeseriesParamsOS = "LINUX"` - `const HTTPTimeseriesParamsOSSmartTv HTTPTimeseriesParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesParamsTLSVersionTlSv1_0 HTTPTimeseriesParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesParamsTLSVersionTlSv1_1 HTTPTimeseriesParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesParamsTLSVersionTlSv1_2 HTTPTimeseriesParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesParamsTLSVersionTlSv1_3 HTTPTimeseriesParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesParamsTLSVersionTlSvQuic HTTPTimeseriesParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesResponse struct{…}` - `Meta HTTPTimeseriesResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesResponseMetaAggInterval` 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/). - `const HTTPTimeseriesResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesResponseMetaAggIntervalOneHour HTTPTimeseriesResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesResponseMetaAggIntervalOneDay HTTPTimeseriesResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesResponseMetaAggIntervalOneWeek HTTPTimeseriesResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesResponseMetaAggIntervalOneMonth HTTPTimeseriesResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesResponseMetaNormalizationPercentage HTTPTimeseriesResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesResponseMetaNormalizationMin0Max HTTPTimeseriesResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesResponseMetaNormalizationMinMax HTTPTimeseriesResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesResponseMetaNormalizationRawValues HTTPTimeseriesResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesResponseMetaNormalizationPercentageChange HTTPTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesResponseMetaNormalizationRollingAverage HTTPTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesResponseMetaNormalizationRatio HTTPTimeseriesResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Timeseries(context.TODO(), radar.HTTPTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 HTTP requests time series grouped by dimension `client.Radar.HTTP.TimeseriesGroupsV2(ctx, dimension, query) (*HTTPTimeseriesGroupsV2Response, error)` **get** `/radar/http/timeseries_groups/{dimension}` Retrieves the distribution of HTTP requests grouped by dimension. ### Parameters - `dimension HTTPTimeseriesGroupsV2ParamsDimension` Specifies the HTTP attribute by which to group the results. - `const HTTPTimeseriesGroupsV2ParamsDimensionAdm1 HTTPTimeseriesGroupsV2ParamsDimension = "ADM1"` - `const HTTPTimeseriesGroupsV2ParamsDimensionAs HTTPTimeseriesGroupsV2ParamsDimension = "AS"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBotClass HTTPTimeseriesGroupsV2ParamsDimension = "BOT_CLASS"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBrowser HTTPTimeseriesGroupsV2ParamsDimension = "BROWSER"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBrowserFamily HTTPTimeseriesGroupsV2ParamsDimension = "BROWSER_FAMILY"` - `const HTTPTimeseriesGroupsV2ParamsDimensionDeviceType HTTPTimeseriesGroupsV2ParamsDimension = "DEVICE_TYPE"` - `const HTTPTimeseriesGroupsV2ParamsDimensionHTTPProtocol HTTPTimeseriesGroupsV2ParamsDimension = "HTTP_PROTOCOL"` - `const HTTPTimeseriesGroupsV2ParamsDimensionHTTPVersion HTTPTimeseriesGroupsV2ParamsDimension = "HTTP_VERSION"` - `const HTTPTimeseriesGroupsV2ParamsDimensionIPVersion HTTPTimeseriesGroupsV2ParamsDimension = "IP_VERSION"` - `const HTTPTimeseriesGroupsV2ParamsDimensionLocation HTTPTimeseriesGroupsV2ParamsDimension = "LOCATION"` - `const HTTPTimeseriesGroupsV2ParamsDimensionOS HTTPTimeseriesGroupsV2ParamsDimension = "OS"` - `const HTTPTimeseriesGroupsV2ParamsDimensionPostQuantum HTTPTimeseriesGroupsV2ParamsDimension = "POST_QUANTUM"` - `const HTTPTimeseriesGroupsV2ParamsDimensionTLSVersion HTTPTimeseriesGroupsV2ParamsDimension = "TLS_VERSION"` - `query HTTPTimeseriesGroupsV2Params` - `AggInterval param.Field[HTTPTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupsV2ParamsAggInterval15m HTTPTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1h HTTPTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1d HTTPTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1w HTTPTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupsV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupsV2ParamsBotClassLikelyAutomated HTTPTimeseriesGroupsV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupsV2ParamsBotClassLikelyHuman HTTPTimeseriesGroupsV2ParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupsV2ParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupsV2ParamsDeviceTypeDesktop HTTPTimeseriesGroupsV2ParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupsV2ParamsDeviceTypeMobile HTTPTimeseriesGroupsV2ParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupsV2ParamsDeviceTypeOther HTTPTimeseriesGroupsV2ParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupsV2ParamsFormatJson HTTPTimeseriesGroupsV2ParamsFormat = "JSON"` - `const HTTPTimeseriesGroupsV2ParamsFormatCsv HTTPTimeseriesGroupsV2ParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupsV2ParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupsV2ParamsHTTPProtocolHTTP HTTPTimeseriesGroupsV2ParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupsV2ParamsHTTPProtocolHTTPS HTTPTimeseriesGroupsV2ParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupsV2ParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupsV2ParamsHTTPVersionHttPv1 HTTPTimeseriesGroupsV2ParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupsV2ParamsHTTPVersionHttPv2 HTTPTimeseriesGroupsV2ParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupsV2ParamsHTTPVersionHttPv3 HTTPTimeseriesGroupsV2ParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupsV2ParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupsV2ParamsIPVersionIPv4 HTTPTimeseriesGroupsV2ParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupsV2ParamsIPVersionIPv6 HTTPTimeseriesGroupsV2ParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[HTTPTimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupsV2ParamsNormalizationPercentage HTTPTimeseriesGroupsV2ParamsNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupsV2ParamsNormalizationMin0Max HTTPTimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` - `OS param.Field[[]HTTPTimeseriesGroupsV2ParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupsV2ParamsOSWindows HTTPTimeseriesGroupsV2ParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupsV2ParamsOSMacosx HTTPTimeseriesGroupsV2ParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupsV2ParamsOSIos HTTPTimeseriesGroupsV2ParamsOS = "IOS"` - `const HTTPTimeseriesGroupsV2ParamsOSAndroid HTTPTimeseriesGroupsV2ParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupsV2ParamsOSChromeos HTTPTimeseriesGroupsV2ParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupsV2ParamsOSLinux HTTPTimeseriesGroupsV2ParamsOS = "LINUX"` - `const HTTPTimeseriesGroupsV2ParamsOSSmartTv HTTPTimeseriesGroupsV2ParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupsV2ParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupsV2ParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupsV2ParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupsV2ParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupsV2ParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupsV2ParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupsV2ParamsTLSVersionTlSvQuic HTTPTimeseriesGroupsV2ParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupsV2Response struct{…}` - `Meta HTTPTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupsV2ResponseMetaAggIntervalOneHour HTTPTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupsV2ResponseMetaAggIntervalOneDay HTTPTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationPercentage HTTPTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationMin0Max HTTPTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationMinMax HTTPTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationRawValues HTTPTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupsV2ResponseMetaNormalizationRatio HTTPTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroupsV2( context.TODO(), radar.HTTPTimeseriesGroupsV2ParamsDimensionAdm1, radar.HTTPTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Locations ## Get top locations by HTTP requests `client.Radar.HTTP.Locations.Get(ctx, query) (*HTTPLocationGetResponse, error)` **get** `/radar/http/top/locations` Retrieves the top locations by HTTP requests. ### Parameters - `query HTTPLocationGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationGetParamsBotClassLikelyAutomated HTTPLocationGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationGetParamsBotClassLikelyHuman HTTPLocationGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationGetParamsBrowserFamilyChrome HTTPLocationGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationGetParamsBrowserFamilyEdge HTTPLocationGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationGetParamsBrowserFamilyFirefox HTTPLocationGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationGetParamsBrowserFamilySafari HTTPLocationGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationGetParamsDeviceTypeDesktop HTTPLocationGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationGetParamsDeviceTypeMobile HTTPLocationGetParamsDeviceType = "MOBILE"` - `const HTTPLocationGetParamsDeviceTypeOther HTTPLocationGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationGetParamsFormatJson HTTPLocationGetParamsFormat = "JSON"` - `const HTTPLocationGetParamsFormatCsv HTTPLocationGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationGetParamsHTTPProtocolHTTP HTTPLocationGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationGetParamsHTTPProtocolHTTPS HTTPLocationGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationGetParamsHTTPVersionHttPv1 HTTPLocationGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationGetParamsHTTPVersionHttPv2 HTTPLocationGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationGetParamsHTTPVersionHttPv3 HTTPLocationGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationGetParamsIPVersionIPv4 HTTPLocationGetParamsIPVersion = "IPv4"` - `const HTTPLocationGetParamsIPVersionIPv6 HTTPLocationGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationGetParamsOS]` Filters results by operating system. - `const HTTPLocationGetParamsOSWindows HTTPLocationGetParamsOS = "WINDOWS"` - `const HTTPLocationGetParamsOSMacosx HTTPLocationGetParamsOS = "MACOSX"` - `const HTTPLocationGetParamsOSIos HTTPLocationGetParamsOS = "IOS"` - `const HTTPLocationGetParamsOSAndroid HTTPLocationGetParamsOS = "ANDROID"` - `const HTTPLocationGetParamsOSChromeos HTTPLocationGetParamsOS = "CHROMEOS"` - `const HTTPLocationGetParamsOSLinux HTTPLocationGetParamsOS = "LINUX"` - `const HTTPLocationGetParamsOSSmartTv HTTPLocationGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationGetParamsTLSVersionTlSv1_0 HTTPLocationGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationGetParamsTLSVersionTlSv1_1 HTTPLocationGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationGetParamsTLSVersionTlSv1_2 HTTPLocationGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationGetParamsTLSVersionTlSv1_3 HTTPLocationGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationGetParamsTLSVersionTlSvQuic HTTPLocationGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationGetResponse struct{…}` - `Meta HTTPLocationGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationGetResponseMetaNormalizationPercentage HTTPLocationGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationGetResponseMetaNormalizationMin0Max HTTPLocationGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationGetResponseMetaNormalizationMinMax HTTPLocationGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationGetResponseMetaNormalizationRawValues HTTPLocationGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationGetResponseMetaNormalizationPercentageChange HTTPLocationGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationGetResponseMetaNormalizationRollingAverage HTTPLocationGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationGetResponseMetaNormalizationOverlappedPercentage HTTPLocationGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationGetResponseMetaNormalizationRatio HTTPLocationGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) location, err := client.Radar.HTTP.Locations.Get(context.TODO(), radar.HTTPLocationGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", location.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 } ``` # Bot Class ## Get top locations by HTTP requests for a bot class `client.Radar.HTTP.Locations.BotClass.Get(ctx, botClass, query) (*HTTPLocationBotClassGetResponse, error)` **get** `/radar/http/top/locations/bot_class/{bot_class}` Retrieves the top locations, by HTTP requests, of the requested bot class. ### Parameters - `botClass HTTPLocationBotClassGetParamsBotClass` Bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationBotClassGetParamsBotClassLikelyAutomated HTTPLocationBotClassGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationBotClassGetParamsBotClassLikelyHuman HTTPLocationBotClassGetParamsBotClass = "LIKELY_HUMAN"` - `query HTTPLocationBotClassGetParams` - `ASN param.Field[[]string]` 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. - `BrowserFamily param.Field[[]HTTPLocationBotClassGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationBotClassGetParamsBrowserFamilyChrome HTTPLocationBotClassGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationBotClassGetParamsBrowserFamilyEdge HTTPLocationBotClassGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationBotClassGetParamsBrowserFamilyFirefox HTTPLocationBotClassGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationBotClassGetParamsBrowserFamilySafari HTTPLocationBotClassGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationBotClassGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationBotClassGetParamsDeviceTypeDesktop HTTPLocationBotClassGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationBotClassGetParamsDeviceTypeMobile HTTPLocationBotClassGetParamsDeviceType = "MOBILE"` - `const HTTPLocationBotClassGetParamsDeviceTypeOther HTTPLocationBotClassGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationBotClassGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationBotClassGetParamsFormatJson HTTPLocationBotClassGetParamsFormat = "JSON"` - `const HTTPLocationBotClassGetParamsFormatCsv HTTPLocationBotClassGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationBotClassGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationBotClassGetParamsHTTPProtocolHTTP HTTPLocationBotClassGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationBotClassGetParamsHTTPProtocolHTTPS HTTPLocationBotClassGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationBotClassGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationBotClassGetParamsHTTPVersionHttPv1 HTTPLocationBotClassGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationBotClassGetParamsHTTPVersionHttPv2 HTTPLocationBotClassGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationBotClassGetParamsHTTPVersionHttPv3 HTTPLocationBotClassGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationBotClassGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationBotClassGetParamsIPVersionIPv4 HTTPLocationBotClassGetParamsIPVersion = "IPv4"` - `const HTTPLocationBotClassGetParamsIPVersionIPv6 HTTPLocationBotClassGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationBotClassGetParamsOS]` Filters results by operating system. - `const HTTPLocationBotClassGetParamsOSWindows HTTPLocationBotClassGetParamsOS = "WINDOWS"` - `const HTTPLocationBotClassGetParamsOSMacosx HTTPLocationBotClassGetParamsOS = "MACOSX"` - `const HTTPLocationBotClassGetParamsOSIos HTTPLocationBotClassGetParamsOS = "IOS"` - `const HTTPLocationBotClassGetParamsOSAndroid HTTPLocationBotClassGetParamsOS = "ANDROID"` - `const HTTPLocationBotClassGetParamsOSChromeos HTTPLocationBotClassGetParamsOS = "CHROMEOS"` - `const HTTPLocationBotClassGetParamsOSLinux HTTPLocationBotClassGetParamsOS = "LINUX"` - `const HTTPLocationBotClassGetParamsOSSmartTv HTTPLocationBotClassGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationBotClassGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationBotClassGetParamsTLSVersionTlSv1_0 HTTPLocationBotClassGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationBotClassGetParamsTLSVersionTlSv1_1 HTTPLocationBotClassGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationBotClassGetParamsTLSVersionTlSv1_2 HTTPLocationBotClassGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationBotClassGetParamsTLSVersionTlSv1_3 HTTPLocationBotClassGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationBotClassGetParamsTLSVersionTlSvQuic HTTPLocationBotClassGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationBotClassGetResponse struct{…}` - `Meta HTTPLocationBotClassGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationBotClassGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationBotClassGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationBotClassGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationBotClassGetResponseMetaNormalizationPercentage HTTPLocationBotClassGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationBotClassGetResponseMetaNormalizationMin0Max HTTPLocationBotClassGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationBotClassGetResponseMetaNormalizationMinMax HTTPLocationBotClassGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationBotClassGetResponseMetaNormalizationRawValues HTTPLocationBotClassGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationBotClassGetResponseMetaNormalizationPercentageChange HTTPLocationBotClassGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationBotClassGetResponseMetaNormalizationRollingAverage HTTPLocationBotClassGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationBotClassGetResponseMetaNormalizationOverlappedPercentage HTTPLocationBotClassGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationBotClassGetResponseMetaNormalizationRatio HTTPLocationBotClassGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationBotClassGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationBotClassGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) botClass, err := client.Radar.HTTP.Locations.BotClass.Get( context.TODO(), radar.HTTPLocationBotClassGetParamsBotClassLikelyAutomated, radar.HTTPLocationBotClassGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", botClass.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 } ``` # Device Type ## Get top locations by HTTP requests for a device type `client.Radar.HTTP.Locations.DeviceType.Get(ctx, deviceType, query) (*HTTPLocationDeviceTypeGetResponse, error)` **get** `/radar/http/top/locations/device_type/{device_type}` Retrieves the top locations, by HTTP requests, of the requested device type. ### Parameters - `deviceType HTTPLocationDeviceTypeGetParamsDeviceType` Device type. - `const HTTPLocationDeviceTypeGetParamsDeviceTypeDesktop HTTPLocationDeviceTypeGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationDeviceTypeGetParamsDeviceTypeMobile HTTPLocationDeviceTypeGetParamsDeviceType = "MOBILE"` - `const HTTPLocationDeviceTypeGetParamsDeviceTypeOther HTTPLocationDeviceTypeGetParamsDeviceType = "OTHER"` - `query HTTPLocationDeviceTypeGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationDeviceTypeGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationDeviceTypeGetParamsBotClassLikelyAutomated HTTPLocationDeviceTypeGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationDeviceTypeGetParamsBotClassLikelyHuman HTTPLocationDeviceTypeGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationDeviceTypeGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationDeviceTypeGetParamsBrowserFamilyChrome HTTPLocationDeviceTypeGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationDeviceTypeGetParamsBrowserFamilyEdge HTTPLocationDeviceTypeGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationDeviceTypeGetParamsBrowserFamilyFirefox HTTPLocationDeviceTypeGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationDeviceTypeGetParamsBrowserFamilySafari HTTPLocationDeviceTypeGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[HTTPLocationDeviceTypeGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationDeviceTypeGetParamsFormatJson HTTPLocationDeviceTypeGetParamsFormat = "JSON"` - `const HTTPLocationDeviceTypeGetParamsFormatCsv HTTPLocationDeviceTypeGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationDeviceTypeGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationDeviceTypeGetParamsHTTPProtocolHTTP HTTPLocationDeviceTypeGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationDeviceTypeGetParamsHTTPProtocolHTTPS HTTPLocationDeviceTypeGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationDeviceTypeGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationDeviceTypeGetParamsHTTPVersionHttPv1 HTTPLocationDeviceTypeGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationDeviceTypeGetParamsHTTPVersionHttPv2 HTTPLocationDeviceTypeGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationDeviceTypeGetParamsHTTPVersionHttPv3 HTTPLocationDeviceTypeGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationDeviceTypeGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationDeviceTypeGetParamsIPVersionIPv4 HTTPLocationDeviceTypeGetParamsIPVersion = "IPv4"` - `const HTTPLocationDeviceTypeGetParamsIPVersionIPv6 HTTPLocationDeviceTypeGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationDeviceTypeGetParamsOS]` Filters results by operating system. - `const HTTPLocationDeviceTypeGetParamsOSWindows HTTPLocationDeviceTypeGetParamsOS = "WINDOWS"` - `const HTTPLocationDeviceTypeGetParamsOSMacosx HTTPLocationDeviceTypeGetParamsOS = "MACOSX"` - `const HTTPLocationDeviceTypeGetParamsOSIos HTTPLocationDeviceTypeGetParamsOS = "IOS"` - `const HTTPLocationDeviceTypeGetParamsOSAndroid HTTPLocationDeviceTypeGetParamsOS = "ANDROID"` - `const HTTPLocationDeviceTypeGetParamsOSChromeos HTTPLocationDeviceTypeGetParamsOS = "CHROMEOS"` - `const HTTPLocationDeviceTypeGetParamsOSLinux HTTPLocationDeviceTypeGetParamsOS = "LINUX"` - `const HTTPLocationDeviceTypeGetParamsOSSmartTv HTTPLocationDeviceTypeGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationDeviceTypeGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationDeviceTypeGetParamsTLSVersionTlSv1_0 HTTPLocationDeviceTypeGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationDeviceTypeGetParamsTLSVersionTlSv1_1 HTTPLocationDeviceTypeGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationDeviceTypeGetParamsTLSVersionTlSv1_2 HTTPLocationDeviceTypeGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationDeviceTypeGetParamsTLSVersionTlSv1_3 HTTPLocationDeviceTypeGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationDeviceTypeGetParamsTLSVersionTlSvQuic HTTPLocationDeviceTypeGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationDeviceTypeGetResponse struct{…}` - `Meta HTTPLocationDeviceTypeGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationDeviceTypeGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationDeviceTypeGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationDeviceTypeGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationPercentage HTTPLocationDeviceTypeGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationMin0Max HTTPLocationDeviceTypeGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationMinMax HTTPLocationDeviceTypeGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationRawValues HTTPLocationDeviceTypeGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationPercentageChange HTTPLocationDeviceTypeGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationRollingAverage HTTPLocationDeviceTypeGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationOverlappedPercentage HTTPLocationDeviceTypeGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationDeviceTypeGetResponseMetaNormalizationRatio HTTPLocationDeviceTypeGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationDeviceTypeGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationDeviceTypeGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) deviceType, err := client.Radar.HTTP.Locations.DeviceType.Get( context.TODO(), radar.HTTPLocationDeviceTypeGetParamsDeviceTypeDesktop, radar.HTTPLocationDeviceTypeGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", deviceType.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 } ``` # HTTP Protocol ## Get top locations by HTTP requests for an HTTP protocol `client.Radar.HTTP.Locations.HTTPProtocol.Get(ctx, httpProtocol, query) (*HTTPLocationHTTPProtocolGetResponse, error)` **get** `/radar/http/top/locations/http_protocol/{http_protocol}` Retrieves the top locations, by HTTP requests, of the requested HTTP protocol. ### Parameters - `httpProtocol HTTPLocationHTTPProtocolGetParamsHTTPProtocol` HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationHTTPProtocolGetParamsHTTPProtocolHTTP HTTPLocationHTTPProtocolGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationHTTPProtocolGetParamsHTTPProtocolHTTPS HTTPLocationHTTPProtocolGetParamsHTTPProtocol = "HTTPS"` - `query HTTPLocationHTTPProtocolGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationHTTPProtocolGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationHTTPProtocolGetParamsBotClassLikelyAutomated HTTPLocationHTTPProtocolGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationHTTPProtocolGetParamsBotClassLikelyHuman HTTPLocationHTTPProtocolGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationHTTPProtocolGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationHTTPProtocolGetParamsBrowserFamilyChrome HTTPLocationHTTPProtocolGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationHTTPProtocolGetParamsBrowserFamilyEdge HTTPLocationHTTPProtocolGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationHTTPProtocolGetParamsBrowserFamilyFirefox HTTPLocationHTTPProtocolGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationHTTPProtocolGetParamsBrowserFamilySafari HTTPLocationHTTPProtocolGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationHTTPProtocolGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationHTTPProtocolGetParamsDeviceTypeDesktop HTTPLocationHTTPProtocolGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationHTTPProtocolGetParamsDeviceTypeMobile HTTPLocationHTTPProtocolGetParamsDeviceType = "MOBILE"` - `const HTTPLocationHTTPProtocolGetParamsDeviceTypeOther HTTPLocationHTTPProtocolGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationHTTPProtocolGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationHTTPProtocolGetParamsFormatJson HTTPLocationHTTPProtocolGetParamsFormat = "JSON"` - `const HTTPLocationHTTPProtocolGetParamsFormatCsv HTTPLocationHTTPProtocolGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPVersion param.Field[[]HTTPLocationHTTPProtocolGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationHTTPProtocolGetParamsHTTPVersionHttPv1 HTTPLocationHTTPProtocolGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationHTTPProtocolGetParamsHTTPVersionHttPv2 HTTPLocationHTTPProtocolGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationHTTPProtocolGetParamsHTTPVersionHttPv3 HTTPLocationHTTPProtocolGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationHTTPProtocolGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationHTTPProtocolGetParamsIPVersionIPv4 HTTPLocationHTTPProtocolGetParamsIPVersion = "IPv4"` - `const HTTPLocationHTTPProtocolGetParamsIPVersionIPv6 HTTPLocationHTTPProtocolGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationHTTPProtocolGetParamsOS]` Filters results by operating system. - `const HTTPLocationHTTPProtocolGetParamsOSWindows HTTPLocationHTTPProtocolGetParamsOS = "WINDOWS"` - `const HTTPLocationHTTPProtocolGetParamsOSMacosx HTTPLocationHTTPProtocolGetParamsOS = "MACOSX"` - `const HTTPLocationHTTPProtocolGetParamsOSIos HTTPLocationHTTPProtocolGetParamsOS = "IOS"` - `const HTTPLocationHTTPProtocolGetParamsOSAndroid HTTPLocationHTTPProtocolGetParamsOS = "ANDROID"` - `const HTTPLocationHTTPProtocolGetParamsOSChromeos HTTPLocationHTTPProtocolGetParamsOS = "CHROMEOS"` - `const HTTPLocationHTTPProtocolGetParamsOSLinux HTTPLocationHTTPProtocolGetParamsOS = "LINUX"` - `const HTTPLocationHTTPProtocolGetParamsOSSmartTv HTTPLocationHTTPProtocolGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationHTTPProtocolGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationHTTPProtocolGetParamsTLSVersionTlSv1_0 HTTPLocationHTTPProtocolGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationHTTPProtocolGetParamsTLSVersionTlSv1_1 HTTPLocationHTTPProtocolGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationHTTPProtocolGetParamsTLSVersionTlSv1_2 HTTPLocationHTTPProtocolGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationHTTPProtocolGetParamsTLSVersionTlSv1_3 HTTPLocationHTTPProtocolGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationHTTPProtocolGetParamsTLSVersionTlSvQuic HTTPLocationHTTPProtocolGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationHTTPProtocolGetResponse struct{…}` - `Meta HTTPLocationHTTPProtocolGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationHTTPProtocolGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationHTTPProtocolGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationPercentage HTTPLocationHTTPProtocolGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationMin0Max HTTPLocationHTTPProtocolGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationMinMax HTTPLocationHTTPProtocolGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationRawValues HTTPLocationHTTPProtocolGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationPercentageChange HTTPLocationHTTPProtocolGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationRollingAverage HTTPLocationHTTPProtocolGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationOverlappedPercentage HTTPLocationHTTPProtocolGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationHTTPProtocolGetResponseMetaNormalizationRatio HTTPLocationHTTPProtocolGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationHTTPProtocolGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationHTTPProtocolGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) httpProtocol, err := client.Radar.HTTP.Locations.HTTPProtocol.Get( context.TODO(), radar.HTTPLocationHTTPProtocolGetParamsHTTPProtocolHTTP, radar.HTTPLocationHTTPProtocolGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", httpProtocol.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 } ``` # HTTP Method ## Get top locations by HTTP requests for an HTTP version `client.Radar.HTTP.Locations.HTTPMethod.Get(ctx, httpVersion, query) (*HTTPLocationHTTPMethodGetResponse, error)` **get** `/radar/http/top/locations/http_version/{http_version}` Retrieves the top locations, by HTTP requests, of the requested HTTP version. ### Parameters - `httpVersion HTTPLocationHTTPMethodGetParamsHTTPVersion` HTTP version. - `const HTTPLocationHTTPMethodGetParamsHTTPVersionHttPv1 HTTPLocationHTTPMethodGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationHTTPMethodGetParamsHTTPVersionHttPv2 HTTPLocationHTTPMethodGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationHTTPMethodGetParamsHTTPVersionHttPv3 HTTPLocationHTTPMethodGetParamsHTTPVersion = "HTTPv3"` - `query HTTPLocationHTTPMethodGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationHTTPMethodGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationHTTPMethodGetParamsBotClassLikelyAutomated HTTPLocationHTTPMethodGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationHTTPMethodGetParamsBotClassLikelyHuman HTTPLocationHTTPMethodGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationHTTPMethodGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationHTTPMethodGetParamsBrowserFamilyChrome HTTPLocationHTTPMethodGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationHTTPMethodGetParamsBrowserFamilyEdge HTTPLocationHTTPMethodGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationHTTPMethodGetParamsBrowserFamilyFirefox HTTPLocationHTTPMethodGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationHTTPMethodGetParamsBrowserFamilySafari HTTPLocationHTTPMethodGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationHTTPMethodGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationHTTPMethodGetParamsDeviceTypeDesktop HTTPLocationHTTPMethodGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationHTTPMethodGetParamsDeviceTypeMobile HTTPLocationHTTPMethodGetParamsDeviceType = "MOBILE"` - `const HTTPLocationHTTPMethodGetParamsDeviceTypeOther HTTPLocationHTTPMethodGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationHTTPMethodGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationHTTPMethodGetParamsFormatJson HTTPLocationHTTPMethodGetParamsFormat = "JSON"` - `const HTTPLocationHTTPMethodGetParamsFormatCsv HTTPLocationHTTPMethodGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationHTTPMethodGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationHTTPMethodGetParamsHTTPProtocolHTTP HTTPLocationHTTPMethodGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationHTTPMethodGetParamsHTTPProtocolHTTPS HTTPLocationHTTPMethodGetParamsHTTPProtocol = "HTTPS"` - `IPVersion param.Field[[]HTTPLocationHTTPMethodGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationHTTPMethodGetParamsIPVersionIPv4 HTTPLocationHTTPMethodGetParamsIPVersion = "IPv4"` - `const HTTPLocationHTTPMethodGetParamsIPVersionIPv6 HTTPLocationHTTPMethodGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationHTTPMethodGetParamsOS]` Filters results by operating system. - `const HTTPLocationHTTPMethodGetParamsOSWindows HTTPLocationHTTPMethodGetParamsOS = "WINDOWS"` - `const HTTPLocationHTTPMethodGetParamsOSMacosx HTTPLocationHTTPMethodGetParamsOS = "MACOSX"` - `const HTTPLocationHTTPMethodGetParamsOSIos HTTPLocationHTTPMethodGetParamsOS = "IOS"` - `const HTTPLocationHTTPMethodGetParamsOSAndroid HTTPLocationHTTPMethodGetParamsOS = "ANDROID"` - `const HTTPLocationHTTPMethodGetParamsOSChromeos HTTPLocationHTTPMethodGetParamsOS = "CHROMEOS"` - `const HTTPLocationHTTPMethodGetParamsOSLinux HTTPLocationHTTPMethodGetParamsOS = "LINUX"` - `const HTTPLocationHTTPMethodGetParamsOSSmartTv HTTPLocationHTTPMethodGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationHTTPMethodGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationHTTPMethodGetParamsTLSVersionTlSv1_0 HTTPLocationHTTPMethodGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationHTTPMethodGetParamsTLSVersionTlSv1_1 HTTPLocationHTTPMethodGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationHTTPMethodGetParamsTLSVersionTlSv1_2 HTTPLocationHTTPMethodGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationHTTPMethodGetParamsTLSVersionTlSv1_3 HTTPLocationHTTPMethodGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationHTTPMethodGetParamsTLSVersionTlSvQuic HTTPLocationHTTPMethodGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationHTTPMethodGetResponse struct{…}` - `Meta HTTPLocationHTTPMethodGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationHTTPMethodGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationHTTPMethodGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationHTTPMethodGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationPercentage HTTPLocationHTTPMethodGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationMin0Max HTTPLocationHTTPMethodGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationMinMax HTTPLocationHTTPMethodGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationRawValues HTTPLocationHTTPMethodGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationPercentageChange HTTPLocationHTTPMethodGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationRollingAverage HTTPLocationHTTPMethodGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationOverlappedPercentage HTTPLocationHTTPMethodGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationHTTPMethodGetResponseMetaNormalizationRatio HTTPLocationHTTPMethodGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationHTTPMethodGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationHTTPMethodGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) httpMethod, err := client.Radar.HTTP.Locations.HTTPMethod.Get( context.TODO(), radar.HTTPLocationHTTPMethodGetParamsHTTPVersionHttPv1, radar.HTTPLocationHTTPMethodGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", httpMethod.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 } ``` # IP Version ## Get top locations by HTTP requests for an IP version `client.Radar.HTTP.Locations.IPVersion.Get(ctx, ipVersion, query) (*HTTPLocationIPVersionGetResponse, error)` **get** `/radar/http/top/locations/ip_version/{ip_version}` Retrieves the top locations, by HTTP requests, of the requested IP version. ### Parameters - `ipVersion HTTPLocationIPVersionGetParamsIPVersion` IP version. - `const HTTPLocationIPVersionGetParamsIPVersionIPv4 HTTPLocationIPVersionGetParamsIPVersion = "IPv4"` - `const HTTPLocationIPVersionGetParamsIPVersionIPv6 HTTPLocationIPVersionGetParamsIPVersion = "IPv6"` - `query HTTPLocationIPVersionGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationIPVersionGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationIPVersionGetParamsBotClassLikelyAutomated HTTPLocationIPVersionGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationIPVersionGetParamsBotClassLikelyHuman HTTPLocationIPVersionGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationIPVersionGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationIPVersionGetParamsBrowserFamilyChrome HTTPLocationIPVersionGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationIPVersionGetParamsBrowserFamilyEdge HTTPLocationIPVersionGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationIPVersionGetParamsBrowserFamilyFirefox HTTPLocationIPVersionGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationIPVersionGetParamsBrowserFamilySafari HTTPLocationIPVersionGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationIPVersionGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationIPVersionGetParamsDeviceTypeDesktop HTTPLocationIPVersionGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationIPVersionGetParamsDeviceTypeMobile HTTPLocationIPVersionGetParamsDeviceType = "MOBILE"` - `const HTTPLocationIPVersionGetParamsDeviceTypeOther HTTPLocationIPVersionGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationIPVersionGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationIPVersionGetParamsFormatJson HTTPLocationIPVersionGetParamsFormat = "JSON"` - `const HTTPLocationIPVersionGetParamsFormatCsv HTTPLocationIPVersionGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationIPVersionGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationIPVersionGetParamsHTTPProtocolHTTP HTTPLocationIPVersionGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationIPVersionGetParamsHTTPProtocolHTTPS HTTPLocationIPVersionGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationIPVersionGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationIPVersionGetParamsHTTPVersionHttPv1 HTTPLocationIPVersionGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationIPVersionGetParamsHTTPVersionHttPv2 HTTPLocationIPVersionGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationIPVersionGetParamsHTTPVersionHttPv3 HTTPLocationIPVersionGetParamsHTTPVersion = "HTTPv3"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationIPVersionGetParamsOS]` Filters results by operating system. - `const HTTPLocationIPVersionGetParamsOSWindows HTTPLocationIPVersionGetParamsOS = "WINDOWS"` - `const HTTPLocationIPVersionGetParamsOSMacosx HTTPLocationIPVersionGetParamsOS = "MACOSX"` - `const HTTPLocationIPVersionGetParamsOSIos HTTPLocationIPVersionGetParamsOS = "IOS"` - `const HTTPLocationIPVersionGetParamsOSAndroid HTTPLocationIPVersionGetParamsOS = "ANDROID"` - `const HTTPLocationIPVersionGetParamsOSChromeos HTTPLocationIPVersionGetParamsOS = "CHROMEOS"` - `const HTTPLocationIPVersionGetParamsOSLinux HTTPLocationIPVersionGetParamsOS = "LINUX"` - `const HTTPLocationIPVersionGetParamsOSSmartTv HTTPLocationIPVersionGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationIPVersionGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationIPVersionGetParamsTLSVersionTlSv1_0 HTTPLocationIPVersionGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationIPVersionGetParamsTLSVersionTlSv1_1 HTTPLocationIPVersionGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationIPVersionGetParamsTLSVersionTlSv1_2 HTTPLocationIPVersionGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationIPVersionGetParamsTLSVersionTlSv1_3 HTTPLocationIPVersionGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationIPVersionGetParamsTLSVersionTlSvQuic HTTPLocationIPVersionGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationIPVersionGetResponse struct{…}` - `Meta HTTPLocationIPVersionGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationIPVersionGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationIPVersionGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationIPVersionGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationIPVersionGetResponseMetaNormalizationPercentage HTTPLocationIPVersionGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationMin0Max HTTPLocationIPVersionGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationMinMax HTTPLocationIPVersionGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationRawValues HTTPLocationIPVersionGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationPercentageChange HTTPLocationIPVersionGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationRollingAverage HTTPLocationIPVersionGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationOverlappedPercentage HTTPLocationIPVersionGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationIPVersionGetResponseMetaNormalizationRatio HTTPLocationIPVersionGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationIPVersionGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationIPVersionGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) ipVersion, err := client.Radar.HTTP.Locations.IPVersion.Get( context.TODO(), radar.HTTPLocationIPVersionGetParamsIPVersionIPv4, radar.HTTPLocationIPVersionGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ipVersion.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 } ``` # OS ## Get top locations by HTTP requests for an OS `client.Radar.HTTP.Locations.OS.Get(ctx, os, query) (*HTTPLocationOSGetResponse, error)` **get** `/radar/http/top/locations/os/{os}` Retrieves the top locations, by HTTP requests, of the requested operating system. ### Parameters - `os HTTPLocationOSGetParamsOS` Operating system. - `const HTTPLocationOSGetParamsOSWindows HTTPLocationOSGetParamsOS = "WINDOWS"` - `const HTTPLocationOSGetParamsOSMacosx HTTPLocationOSGetParamsOS = "MACOSX"` - `const HTTPLocationOSGetParamsOSIos HTTPLocationOSGetParamsOS = "IOS"` - `const HTTPLocationOSGetParamsOSAndroid HTTPLocationOSGetParamsOS = "ANDROID"` - `const HTTPLocationOSGetParamsOSChromeos HTTPLocationOSGetParamsOS = "CHROMEOS"` - `const HTTPLocationOSGetParamsOSLinux HTTPLocationOSGetParamsOS = "LINUX"` - `const HTTPLocationOSGetParamsOSSmartTv HTTPLocationOSGetParamsOS = "SMART_TV"` - `query HTTPLocationOSGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationOSGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationOSGetParamsBotClassLikelyAutomated HTTPLocationOSGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationOSGetParamsBotClassLikelyHuman HTTPLocationOSGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationOSGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationOSGetParamsBrowserFamilyChrome HTTPLocationOSGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationOSGetParamsBrowserFamilyEdge HTTPLocationOSGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationOSGetParamsBrowserFamilyFirefox HTTPLocationOSGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationOSGetParamsBrowserFamilySafari HTTPLocationOSGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationOSGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationOSGetParamsDeviceTypeDesktop HTTPLocationOSGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationOSGetParamsDeviceTypeMobile HTTPLocationOSGetParamsDeviceType = "MOBILE"` - `const HTTPLocationOSGetParamsDeviceTypeOther HTTPLocationOSGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationOSGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationOSGetParamsFormatJson HTTPLocationOSGetParamsFormat = "JSON"` - `const HTTPLocationOSGetParamsFormatCsv HTTPLocationOSGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationOSGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationOSGetParamsHTTPProtocolHTTP HTTPLocationOSGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationOSGetParamsHTTPProtocolHTTPS HTTPLocationOSGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationOSGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationOSGetParamsHTTPVersionHttPv1 HTTPLocationOSGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationOSGetParamsHTTPVersionHttPv2 HTTPLocationOSGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationOSGetParamsHTTPVersionHttPv3 HTTPLocationOSGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationOSGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationOSGetParamsIPVersionIPv4 HTTPLocationOSGetParamsIPVersion = "IPv4"` - `const HTTPLocationOSGetParamsIPVersionIPv6 HTTPLocationOSGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]HTTPLocationOSGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationOSGetParamsTLSVersionTlSv1_0 HTTPLocationOSGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationOSGetParamsTLSVersionTlSv1_1 HTTPLocationOSGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationOSGetParamsTLSVersionTlSv1_2 HTTPLocationOSGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationOSGetParamsTLSVersionTlSv1_3 HTTPLocationOSGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationOSGetParamsTLSVersionTlSvQuic HTTPLocationOSGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationOSGetResponse struct{…}` - `Meta HTTPLocationOSGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationOSGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationOSGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationOSGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationOSGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationOSGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationOSGetResponseMetaNormalizationPercentage HTTPLocationOSGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationOSGetResponseMetaNormalizationMin0Max HTTPLocationOSGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationOSGetResponseMetaNormalizationMinMax HTTPLocationOSGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationOSGetResponseMetaNormalizationRawValues HTTPLocationOSGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationOSGetResponseMetaNormalizationPercentageChange HTTPLocationOSGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationOSGetResponseMetaNormalizationRollingAverage HTTPLocationOSGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationOSGetResponseMetaNormalizationOverlappedPercentage HTTPLocationOSGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationOSGetResponseMetaNormalizationRatio HTTPLocationOSGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationOSGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationOSGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) os, err := client.Radar.HTTP.Locations.OS.Get( context.TODO(), radar.HTTPLocationOSGetParamsOSWindows, radar.HTTPLocationOSGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", os.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 } ``` # TLS Version ## Get top locations by HTTP requests for a TLS version `client.Radar.HTTP.Locations.TLSVersion.Get(ctx, tlsVersion, query) (*HTTPLocationTLSVersionGetResponse, error)` **get** `/radar/http/top/locations/tls_version/{tls_version}` Retrieves the top locations, by HTTP requests, of the requested TLS protocol version. ### Parameters - `tlsVersion HTTPLocationTLSVersionGetParamsTLSVersion` TLS version. - `const HTTPLocationTLSVersionGetParamsTLSVersionTlSv1_0 HTTPLocationTLSVersionGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationTLSVersionGetParamsTLSVersionTlSv1_1 HTTPLocationTLSVersionGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationTLSVersionGetParamsTLSVersionTlSv1_2 HTTPLocationTLSVersionGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationTLSVersionGetParamsTLSVersionTlSv1_3 HTTPLocationTLSVersionGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationTLSVersionGetParamsTLSVersionTlSvQuic HTTPLocationTLSVersionGetParamsTLSVersion = "TLSvQUIC"` - `query HTTPLocationTLSVersionGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationTLSVersionGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationTLSVersionGetParamsBotClassLikelyAutomated HTTPLocationTLSVersionGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationTLSVersionGetParamsBotClassLikelyHuman HTTPLocationTLSVersionGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPLocationTLSVersionGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPLocationTLSVersionGetParamsBrowserFamilyChrome HTTPLocationTLSVersionGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationTLSVersionGetParamsBrowserFamilyEdge HTTPLocationTLSVersionGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationTLSVersionGetParamsBrowserFamilyFirefox HTTPLocationTLSVersionGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationTLSVersionGetParamsBrowserFamilySafari HTTPLocationTLSVersionGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationTLSVersionGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationTLSVersionGetParamsDeviceTypeDesktop HTTPLocationTLSVersionGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationTLSVersionGetParamsDeviceTypeMobile HTTPLocationTLSVersionGetParamsDeviceType = "MOBILE"` - `const HTTPLocationTLSVersionGetParamsDeviceTypeOther HTTPLocationTLSVersionGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationTLSVersionGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationTLSVersionGetParamsFormatJson HTTPLocationTLSVersionGetParamsFormat = "JSON"` - `const HTTPLocationTLSVersionGetParamsFormatCsv HTTPLocationTLSVersionGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationTLSVersionGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationTLSVersionGetParamsHTTPProtocolHTTP HTTPLocationTLSVersionGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationTLSVersionGetParamsHTTPProtocolHTTPS HTTPLocationTLSVersionGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationTLSVersionGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationTLSVersionGetParamsHTTPVersionHttPv1 HTTPLocationTLSVersionGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationTLSVersionGetParamsHTTPVersionHttPv2 HTTPLocationTLSVersionGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationTLSVersionGetParamsHTTPVersionHttPv3 HTTPLocationTLSVersionGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationTLSVersionGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationTLSVersionGetParamsIPVersionIPv4 HTTPLocationTLSVersionGetParamsIPVersion = "IPv4"` - `const HTTPLocationTLSVersionGetParamsIPVersionIPv6 HTTPLocationTLSVersionGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationTLSVersionGetParamsOS]` Filters results by operating system. - `const HTTPLocationTLSVersionGetParamsOSWindows HTTPLocationTLSVersionGetParamsOS = "WINDOWS"` - `const HTTPLocationTLSVersionGetParamsOSMacosx HTTPLocationTLSVersionGetParamsOS = "MACOSX"` - `const HTTPLocationTLSVersionGetParamsOSIos HTTPLocationTLSVersionGetParamsOS = "IOS"` - `const HTTPLocationTLSVersionGetParamsOSAndroid HTTPLocationTLSVersionGetParamsOS = "ANDROID"` - `const HTTPLocationTLSVersionGetParamsOSChromeos HTTPLocationTLSVersionGetParamsOS = "CHROMEOS"` - `const HTTPLocationTLSVersionGetParamsOSLinux HTTPLocationTLSVersionGetParamsOS = "LINUX"` - `const HTTPLocationTLSVersionGetParamsOSSmartTv HTTPLocationTLSVersionGetParamsOS = "SMART_TV"` ### Returns - `type HTTPLocationTLSVersionGetResponse struct{…}` - `Meta HTTPLocationTLSVersionGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationTLSVersionGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationTLSVersionGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationTLSVersionGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationTLSVersionGetResponseMetaNormalizationPercentage HTTPLocationTLSVersionGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationMin0Max HTTPLocationTLSVersionGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationMinMax HTTPLocationTLSVersionGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationRawValues HTTPLocationTLSVersionGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationPercentageChange HTTPLocationTLSVersionGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationRollingAverage HTTPLocationTLSVersionGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationOverlappedPercentage HTTPLocationTLSVersionGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationTLSVersionGetResponseMetaNormalizationRatio HTTPLocationTLSVersionGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationTLSVersionGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationTLSVersionGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) tlsVersion, err := client.Radar.HTTP.Locations.TLSVersion.Get( context.TODO(), radar.HTTPLocationTLSVersionGetParamsTLSVersionTlSv1_0, radar.HTTPLocationTLSVersionGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", tlsVersion.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 } ``` # Browser Family ## Get top locations by HTTP requests for a browser family `client.Radar.HTTP.Locations.BrowserFamily.Get(ctx, browserFamily, query) (*HTTPLocationBrowserFamilyGetResponse, error)` **get** `/radar/http/top/locations/browser_family/{browser_family}` Retrieves the top locations, by HTTP requests, of the requested browser family. ### Parameters - `browserFamily HTTPLocationBrowserFamilyGetParamsBrowserFamily` Browser family. - `const HTTPLocationBrowserFamilyGetParamsBrowserFamilyChrome HTTPLocationBrowserFamilyGetParamsBrowserFamily = "CHROME"` - `const HTTPLocationBrowserFamilyGetParamsBrowserFamilyEdge HTTPLocationBrowserFamilyGetParamsBrowserFamily = "EDGE"` - `const HTTPLocationBrowserFamilyGetParamsBrowserFamilyFirefox HTTPLocationBrowserFamilyGetParamsBrowserFamily = "FIREFOX"` - `const HTTPLocationBrowserFamilyGetParamsBrowserFamilySafari HTTPLocationBrowserFamilyGetParamsBrowserFamily = "SAFARI"` - `query HTTPLocationBrowserFamilyGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPLocationBrowserFamilyGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPLocationBrowserFamilyGetParamsBotClassLikelyAutomated HTTPLocationBrowserFamilyGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPLocationBrowserFamilyGetParamsBotClassLikelyHuman HTTPLocationBrowserFamilyGetParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPLocationBrowserFamilyGetParamsDeviceType]` Filters results by device type. - `const HTTPLocationBrowserFamilyGetParamsDeviceTypeDesktop HTTPLocationBrowserFamilyGetParamsDeviceType = "DESKTOP"` - `const HTTPLocationBrowserFamilyGetParamsDeviceTypeMobile HTTPLocationBrowserFamilyGetParamsDeviceType = "MOBILE"` - `const HTTPLocationBrowserFamilyGetParamsDeviceTypeOther HTTPLocationBrowserFamilyGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPLocationBrowserFamilyGetParamsFormat]` Format in which results will be returned. - `const HTTPLocationBrowserFamilyGetParamsFormatJson HTTPLocationBrowserFamilyGetParamsFormat = "JSON"` - `const HTTPLocationBrowserFamilyGetParamsFormatCsv HTTPLocationBrowserFamilyGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPLocationBrowserFamilyGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPLocationBrowserFamilyGetParamsHTTPProtocolHTTP HTTPLocationBrowserFamilyGetParamsHTTPProtocol = "HTTP"` - `const HTTPLocationBrowserFamilyGetParamsHTTPProtocolHTTPS HTTPLocationBrowserFamilyGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPLocationBrowserFamilyGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPLocationBrowserFamilyGetParamsHTTPVersionHttPv1 HTTPLocationBrowserFamilyGetParamsHTTPVersion = "HTTPv1"` - `const HTTPLocationBrowserFamilyGetParamsHTTPVersionHttPv2 HTTPLocationBrowserFamilyGetParamsHTTPVersion = "HTTPv2"` - `const HTTPLocationBrowserFamilyGetParamsHTTPVersionHttPv3 HTTPLocationBrowserFamilyGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPLocationBrowserFamilyGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPLocationBrowserFamilyGetParamsIPVersionIPv4 HTTPLocationBrowserFamilyGetParamsIPVersion = "IPv4"` - `const HTTPLocationBrowserFamilyGetParamsIPVersionIPv6 HTTPLocationBrowserFamilyGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPLocationBrowserFamilyGetParamsOS]` Filters results by operating system. - `const HTTPLocationBrowserFamilyGetParamsOSWindows HTTPLocationBrowserFamilyGetParamsOS = "WINDOWS"` - `const HTTPLocationBrowserFamilyGetParamsOSMacosx HTTPLocationBrowserFamilyGetParamsOS = "MACOSX"` - `const HTTPLocationBrowserFamilyGetParamsOSIos HTTPLocationBrowserFamilyGetParamsOS = "IOS"` - `const HTTPLocationBrowserFamilyGetParamsOSAndroid HTTPLocationBrowserFamilyGetParamsOS = "ANDROID"` - `const HTTPLocationBrowserFamilyGetParamsOSChromeos HTTPLocationBrowserFamilyGetParamsOS = "CHROMEOS"` - `const HTTPLocationBrowserFamilyGetParamsOSLinux HTTPLocationBrowserFamilyGetParamsOS = "LINUX"` - `const HTTPLocationBrowserFamilyGetParamsOSSmartTv HTTPLocationBrowserFamilyGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPLocationBrowserFamilyGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPLocationBrowserFamilyGetParamsTLSVersionTlSv1_0 HTTPLocationBrowserFamilyGetParamsTLSVersion = "TLSv1_0"` - `const HTTPLocationBrowserFamilyGetParamsTLSVersionTlSv1_1 HTTPLocationBrowserFamilyGetParamsTLSVersion = "TLSv1_1"` - `const HTTPLocationBrowserFamilyGetParamsTLSVersionTlSv1_2 HTTPLocationBrowserFamilyGetParamsTLSVersion = "TLSv1_2"` - `const HTTPLocationBrowserFamilyGetParamsTLSVersionTlSv1_3 HTTPLocationBrowserFamilyGetParamsTLSVersion = "TLSv1_3"` - `const HTTPLocationBrowserFamilyGetParamsTLSVersionTlSvQuic HTTPLocationBrowserFamilyGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPLocationBrowserFamilyGetResponse struct{…}` - `Meta HTTPLocationBrowserFamilyGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfo` - `Annotations []HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPLocationBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPLocationBrowserFamilyGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPLocationBrowserFamilyGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationPercentage HTTPLocationBrowserFamilyGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationMin0Max HTTPLocationBrowserFamilyGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationMinMax HTTPLocationBrowserFamilyGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationRawValues HTTPLocationBrowserFamilyGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationPercentageChange HTTPLocationBrowserFamilyGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationRollingAverage HTTPLocationBrowserFamilyGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationOverlappedPercentage HTTPLocationBrowserFamilyGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPLocationBrowserFamilyGetResponseMetaNormalizationRatio HTTPLocationBrowserFamilyGetResponseMetaNormalization = "RATIO"` - `Units []HTTPLocationBrowserFamilyGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPLocationBrowserFamilyGetResponseTop0` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) browserFamily, err := client.Radar.HTTP.Locations.BrowserFamily.Get( context.TODO(), radar.HTTPLocationBrowserFamilyGetParamsBrowserFamilyChrome, radar.HTTPLocationBrowserFamilyGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", browserFamily.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 } ``` # Ases ## Get top ASes by HTTP requests `client.Radar.HTTP.Ases.Get(ctx, query) (*HTTPAseGetResponse, error)` **get** `/radar/http/top/ases` Retrieves the top autonomous systems by HTTP requests. ### Parameters - `query HTTPAseGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseGetParamsBotClassLikelyAutomated HTTPAseGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseGetParamsBotClassLikelyHuman HTTPAseGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseGetParamsBrowserFamilyChrome HTTPAseGetParamsBrowserFamily = "CHROME"` - `const HTTPAseGetParamsBrowserFamilyEdge HTTPAseGetParamsBrowserFamily = "EDGE"` - `const HTTPAseGetParamsBrowserFamilyFirefox HTTPAseGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseGetParamsBrowserFamilySafari HTTPAseGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseGetParamsDeviceType]` Filters results by device type. - `const HTTPAseGetParamsDeviceTypeDesktop HTTPAseGetParamsDeviceType = "DESKTOP"` - `const HTTPAseGetParamsDeviceTypeMobile HTTPAseGetParamsDeviceType = "MOBILE"` - `const HTTPAseGetParamsDeviceTypeOther HTTPAseGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseGetParamsFormat]` Format in which results will be returned. - `const HTTPAseGetParamsFormatJson HTTPAseGetParamsFormat = "JSON"` - `const HTTPAseGetParamsFormatCsv HTTPAseGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseGetParamsHTTPProtocolHTTP HTTPAseGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseGetParamsHTTPProtocolHTTPS HTTPAseGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseGetParamsHTTPVersionHttPv1 HTTPAseGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseGetParamsHTTPVersionHttPv2 HTTPAseGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseGetParamsHTTPVersionHttPv3 HTTPAseGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseGetParamsIPVersionIPv4 HTTPAseGetParamsIPVersion = "IPv4"` - `const HTTPAseGetParamsIPVersionIPv6 HTTPAseGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseGetParamsOS]` Filters results by operating system. - `const HTTPAseGetParamsOSWindows HTTPAseGetParamsOS = "WINDOWS"` - `const HTTPAseGetParamsOSMacosx HTTPAseGetParamsOS = "MACOSX"` - `const HTTPAseGetParamsOSIos HTTPAseGetParamsOS = "IOS"` - `const HTTPAseGetParamsOSAndroid HTTPAseGetParamsOS = "ANDROID"` - `const HTTPAseGetParamsOSChromeos HTTPAseGetParamsOS = "CHROMEOS"` - `const HTTPAseGetParamsOSLinux HTTPAseGetParamsOS = "LINUX"` - `const HTTPAseGetParamsOSSmartTv HTTPAseGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseGetParamsTLSVersionTlSv1_0 HTTPAseGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseGetParamsTLSVersionTlSv1_1 HTTPAseGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseGetParamsTLSVersionTlSv1_2 HTTPAseGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseGetParamsTLSVersionTlSv1_3 HTTPAseGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseGetParamsTLSVersionTlSvQuic HTTPAseGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseGetResponse struct{…}` - `Meta HTTPAseGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseGetResponseMetaNormalizationPercentage HTTPAseGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseGetResponseMetaNormalizationMin0Max HTTPAseGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseGetResponseMetaNormalizationMinMax HTTPAseGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseGetResponseMetaNormalizationRawValues HTTPAseGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseGetResponseMetaNormalizationPercentageChange HTTPAseGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseGetResponseMetaNormalizationRollingAverage HTTPAseGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseGetResponseMetaNormalizationOverlappedPercentage HTTPAseGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseGetResponseMetaNormalizationRatio HTTPAseGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) ase, err := client.Radar.HTTP.Ases.Get(context.TODO(), radar.HTTPAseGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ase.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 } ``` # Bot Class ## Get top ASes by HTTP requests for a bot class `client.Radar.HTTP.Ases.BotClass.Get(ctx, botClass, query) (*HTTPAseBotClassGetResponse, error)` **get** `/radar/http/top/ases/bot_class/{bot_class}` Retrieves the top autonomous systems, by HTTP requests, of the requested bot class. ### Parameters - `botClass HTTPAseBotClassGetParamsBotClass` Bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseBotClassGetParamsBotClassLikelyAutomated HTTPAseBotClassGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseBotClassGetParamsBotClassLikelyHuman HTTPAseBotClassGetParamsBotClass = "LIKELY_HUMAN"` - `query HTTPAseBotClassGetParams` - `ASN param.Field[[]string]` 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. - `BrowserFamily param.Field[[]HTTPAseBotClassGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseBotClassGetParamsBrowserFamilyChrome HTTPAseBotClassGetParamsBrowserFamily = "CHROME"` - `const HTTPAseBotClassGetParamsBrowserFamilyEdge HTTPAseBotClassGetParamsBrowserFamily = "EDGE"` - `const HTTPAseBotClassGetParamsBrowserFamilyFirefox HTTPAseBotClassGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseBotClassGetParamsBrowserFamilySafari HTTPAseBotClassGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseBotClassGetParamsDeviceType]` Filters results by device type. - `const HTTPAseBotClassGetParamsDeviceTypeDesktop HTTPAseBotClassGetParamsDeviceType = "DESKTOP"` - `const HTTPAseBotClassGetParamsDeviceTypeMobile HTTPAseBotClassGetParamsDeviceType = "MOBILE"` - `const HTTPAseBotClassGetParamsDeviceTypeOther HTTPAseBotClassGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseBotClassGetParamsFormat]` Format in which results will be returned. - `const HTTPAseBotClassGetParamsFormatJson HTTPAseBotClassGetParamsFormat = "JSON"` - `const HTTPAseBotClassGetParamsFormatCsv HTTPAseBotClassGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseBotClassGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseBotClassGetParamsHTTPProtocolHTTP HTTPAseBotClassGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseBotClassGetParamsHTTPProtocolHTTPS HTTPAseBotClassGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseBotClassGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseBotClassGetParamsHTTPVersionHttPv1 HTTPAseBotClassGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseBotClassGetParamsHTTPVersionHttPv2 HTTPAseBotClassGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseBotClassGetParamsHTTPVersionHttPv3 HTTPAseBotClassGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseBotClassGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseBotClassGetParamsIPVersionIPv4 HTTPAseBotClassGetParamsIPVersion = "IPv4"` - `const HTTPAseBotClassGetParamsIPVersionIPv6 HTTPAseBotClassGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseBotClassGetParamsOS]` Filters results by operating system. - `const HTTPAseBotClassGetParamsOSWindows HTTPAseBotClassGetParamsOS = "WINDOWS"` - `const HTTPAseBotClassGetParamsOSMacosx HTTPAseBotClassGetParamsOS = "MACOSX"` - `const HTTPAseBotClassGetParamsOSIos HTTPAseBotClassGetParamsOS = "IOS"` - `const HTTPAseBotClassGetParamsOSAndroid HTTPAseBotClassGetParamsOS = "ANDROID"` - `const HTTPAseBotClassGetParamsOSChromeos HTTPAseBotClassGetParamsOS = "CHROMEOS"` - `const HTTPAseBotClassGetParamsOSLinux HTTPAseBotClassGetParamsOS = "LINUX"` - `const HTTPAseBotClassGetParamsOSSmartTv HTTPAseBotClassGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseBotClassGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseBotClassGetParamsTLSVersionTlSv1_0 HTTPAseBotClassGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseBotClassGetParamsTLSVersionTlSv1_1 HTTPAseBotClassGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseBotClassGetParamsTLSVersionTlSv1_2 HTTPAseBotClassGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseBotClassGetParamsTLSVersionTlSv1_3 HTTPAseBotClassGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseBotClassGetParamsTLSVersionTlSvQuic HTTPAseBotClassGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseBotClassGetResponse struct{…}` - `Meta HTTPAseBotClassGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseBotClassGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseBotClassGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseBotClassGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseBotClassGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseBotClassGetResponseMetaNormalizationPercentage HTTPAseBotClassGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseBotClassGetResponseMetaNormalizationMin0Max HTTPAseBotClassGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseBotClassGetResponseMetaNormalizationMinMax HTTPAseBotClassGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseBotClassGetResponseMetaNormalizationRawValues HTTPAseBotClassGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseBotClassGetResponseMetaNormalizationPercentageChange HTTPAseBotClassGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseBotClassGetResponseMetaNormalizationRollingAverage HTTPAseBotClassGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseBotClassGetResponseMetaNormalizationOverlappedPercentage HTTPAseBotClassGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseBotClassGetResponseMetaNormalizationRatio HTTPAseBotClassGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseBotClassGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseBotClassGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) botClass, err := client.Radar.HTTP.Ases.BotClass.Get( context.TODO(), radar.HTTPAseBotClassGetParamsBotClassLikelyAutomated, radar.HTTPAseBotClassGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", botClass.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 } ``` # Device Type ## Get top ASes by HTTP requests for a device type `client.Radar.HTTP.Ases.DeviceType.Get(ctx, deviceType, query) (*HTTPAseDeviceTypeGetResponse, error)` **get** `/radar/http/top/ases/device_type/{device_type}` Retrieves the top autonomous systems, by HTTP requests, of the requested device type. ### Parameters - `deviceType HTTPAseDeviceTypeGetParamsDeviceType` Device type. - `const HTTPAseDeviceTypeGetParamsDeviceTypeDesktop HTTPAseDeviceTypeGetParamsDeviceType = "DESKTOP"` - `const HTTPAseDeviceTypeGetParamsDeviceTypeMobile HTTPAseDeviceTypeGetParamsDeviceType = "MOBILE"` - `const HTTPAseDeviceTypeGetParamsDeviceTypeOther HTTPAseDeviceTypeGetParamsDeviceType = "OTHER"` - `query HTTPAseDeviceTypeGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseDeviceTypeGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseDeviceTypeGetParamsBotClassLikelyAutomated HTTPAseDeviceTypeGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseDeviceTypeGetParamsBotClassLikelyHuman HTTPAseDeviceTypeGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseDeviceTypeGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseDeviceTypeGetParamsBrowserFamilyChrome HTTPAseDeviceTypeGetParamsBrowserFamily = "CHROME"` - `const HTTPAseDeviceTypeGetParamsBrowserFamilyEdge HTTPAseDeviceTypeGetParamsBrowserFamily = "EDGE"` - `const HTTPAseDeviceTypeGetParamsBrowserFamilyFirefox HTTPAseDeviceTypeGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseDeviceTypeGetParamsBrowserFamilySafari HTTPAseDeviceTypeGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[HTTPAseDeviceTypeGetParamsFormat]` Format in which results will be returned. - `const HTTPAseDeviceTypeGetParamsFormatJson HTTPAseDeviceTypeGetParamsFormat = "JSON"` - `const HTTPAseDeviceTypeGetParamsFormatCsv HTTPAseDeviceTypeGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseDeviceTypeGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseDeviceTypeGetParamsHTTPProtocolHTTP HTTPAseDeviceTypeGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseDeviceTypeGetParamsHTTPProtocolHTTPS HTTPAseDeviceTypeGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseDeviceTypeGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseDeviceTypeGetParamsHTTPVersionHttPv1 HTTPAseDeviceTypeGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseDeviceTypeGetParamsHTTPVersionHttPv2 HTTPAseDeviceTypeGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseDeviceTypeGetParamsHTTPVersionHttPv3 HTTPAseDeviceTypeGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseDeviceTypeGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseDeviceTypeGetParamsIPVersionIPv4 HTTPAseDeviceTypeGetParamsIPVersion = "IPv4"` - `const HTTPAseDeviceTypeGetParamsIPVersionIPv6 HTTPAseDeviceTypeGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseDeviceTypeGetParamsOS]` Filters results by operating system. - `const HTTPAseDeviceTypeGetParamsOSWindows HTTPAseDeviceTypeGetParamsOS = "WINDOWS"` - `const HTTPAseDeviceTypeGetParamsOSMacosx HTTPAseDeviceTypeGetParamsOS = "MACOSX"` - `const HTTPAseDeviceTypeGetParamsOSIos HTTPAseDeviceTypeGetParamsOS = "IOS"` - `const HTTPAseDeviceTypeGetParamsOSAndroid HTTPAseDeviceTypeGetParamsOS = "ANDROID"` - `const HTTPAseDeviceTypeGetParamsOSChromeos HTTPAseDeviceTypeGetParamsOS = "CHROMEOS"` - `const HTTPAseDeviceTypeGetParamsOSLinux HTTPAseDeviceTypeGetParamsOS = "LINUX"` - `const HTTPAseDeviceTypeGetParamsOSSmartTv HTTPAseDeviceTypeGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseDeviceTypeGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseDeviceTypeGetParamsTLSVersionTlSv1_0 HTTPAseDeviceTypeGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseDeviceTypeGetParamsTLSVersionTlSv1_1 HTTPAseDeviceTypeGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseDeviceTypeGetParamsTLSVersionTlSv1_2 HTTPAseDeviceTypeGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseDeviceTypeGetParamsTLSVersionTlSv1_3 HTTPAseDeviceTypeGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseDeviceTypeGetParamsTLSVersionTlSvQuic HTTPAseDeviceTypeGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseDeviceTypeGetResponse struct{…}` - `Meta HTTPAseDeviceTypeGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseDeviceTypeGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseDeviceTypeGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseDeviceTypeGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseDeviceTypeGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseDeviceTypeGetResponseMetaNormalizationPercentage HTTPAseDeviceTypeGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationMin0Max HTTPAseDeviceTypeGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationMinMax HTTPAseDeviceTypeGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationRawValues HTTPAseDeviceTypeGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationPercentageChange HTTPAseDeviceTypeGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationRollingAverage HTTPAseDeviceTypeGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationOverlappedPercentage HTTPAseDeviceTypeGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseDeviceTypeGetResponseMetaNormalizationRatio HTTPAseDeviceTypeGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseDeviceTypeGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseDeviceTypeGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) deviceType, err := client.Radar.HTTP.Ases.DeviceType.Get( context.TODO(), radar.HTTPAseDeviceTypeGetParamsDeviceTypeDesktop, radar.HTTPAseDeviceTypeGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", deviceType.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 } ``` # HTTP Protocol ## Get top ASes by HTTP requests for an HTTP protocol `client.Radar.HTTP.Ases.HTTPProtocol.Get(ctx, httpProtocol, query) (*HTTPAseHTTPProtocolGetResponse, error)` **get** `/radar/http/top/ases/http_protocol/{http_protocol}` Retrieves the top autonomous systems, by HTTP requests, of the requested HTTP protocol. ### Parameters - `httpProtocol HTTPAseHTTPProtocolGetParamsHTTPProtocol` HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseHTTPProtocolGetParamsHTTPProtocolHTTP HTTPAseHTTPProtocolGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseHTTPProtocolGetParamsHTTPProtocolHTTPS HTTPAseHTTPProtocolGetParamsHTTPProtocol = "HTTPS"` - `query HTTPAseHTTPProtocolGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseHTTPProtocolGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseHTTPProtocolGetParamsBotClassLikelyAutomated HTTPAseHTTPProtocolGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseHTTPProtocolGetParamsBotClassLikelyHuman HTTPAseHTTPProtocolGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseHTTPProtocolGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseHTTPProtocolGetParamsBrowserFamilyChrome HTTPAseHTTPProtocolGetParamsBrowserFamily = "CHROME"` - `const HTTPAseHTTPProtocolGetParamsBrowserFamilyEdge HTTPAseHTTPProtocolGetParamsBrowserFamily = "EDGE"` - `const HTTPAseHTTPProtocolGetParamsBrowserFamilyFirefox HTTPAseHTTPProtocolGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseHTTPProtocolGetParamsBrowserFamilySafari HTTPAseHTTPProtocolGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseHTTPProtocolGetParamsDeviceType]` Filters results by device type. - `const HTTPAseHTTPProtocolGetParamsDeviceTypeDesktop HTTPAseHTTPProtocolGetParamsDeviceType = "DESKTOP"` - `const HTTPAseHTTPProtocolGetParamsDeviceTypeMobile HTTPAseHTTPProtocolGetParamsDeviceType = "MOBILE"` - `const HTTPAseHTTPProtocolGetParamsDeviceTypeOther HTTPAseHTTPProtocolGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseHTTPProtocolGetParamsFormat]` Format in which results will be returned. - `const HTTPAseHTTPProtocolGetParamsFormatJson HTTPAseHTTPProtocolGetParamsFormat = "JSON"` - `const HTTPAseHTTPProtocolGetParamsFormatCsv HTTPAseHTTPProtocolGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPVersion param.Field[[]HTTPAseHTTPProtocolGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseHTTPProtocolGetParamsHTTPVersionHttPv1 HTTPAseHTTPProtocolGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseHTTPProtocolGetParamsHTTPVersionHttPv2 HTTPAseHTTPProtocolGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseHTTPProtocolGetParamsHTTPVersionHttPv3 HTTPAseHTTPProtocolGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseHTTPProtocolGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseHTTPProtocolGetParamsIPVersionIPv4 HTTPAseHTTPProtocolGetParamsIPVersion = "IPv4"` - `const HTTPAseHTTPProtocolGetParamsIPVersionIPv6 HTTPAseHTTPProtocolGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseHTTPProtocolGetParamsOS]` Filters results by operating system. - `const HTTPAseHTTPProtocolGetParamsOSWindows HTTPAseHTTPProtocolGetParamsOS = "WINDOWS"` - `const HTTPAseHTTPProtocolGetParamsOSMacosx HTTPAseHTTPProtocolGetParamsOS = "MACOSX"` - `const HTTPAseHTTPProtocolGetParamsOSIos HTTPAseHTTPProtocolGetParamsOS = "IOS"` - `const HTTPAseHTTPProtocolGetParamsOSAndroid HTTPAseHTTPProtocolGetParamsOS = "ANDROID"` - `const HTTPAseHTTPProtocolGetParamsOSChromeos HTTPAseHTTPProtocolGetParamsOS = "CHROMEOS"` - `const HTTPAseHTTPProtocolGetParamsOSLinux HTTPAseHTTPProtocolGetParamsOS = "LINUX"` - `const HTTPAseHTTPProtocolGetParamsOSSmartTv HTTPAseHTTPProtocolGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseHTTPProtocolGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseHTTPProtocolGetParamsTLSVersionTlSv1_0 HTTPAseHTTPProtocolGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseHTTPProtocolGetParamsTLSVersionTlSv1_1 HTTPAseHTTPProtocolGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseHTTPProtocolGetParamsTLSVersionTlSv1_2 HTTPAseHTTPProtocolGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseHTTPProtocolGetParamsTLSVersionTlSv1_3 HTTPAseHTTPProtocolGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseHTTPProtocolGetParamsTLSVersionTlSvQuic HTTPAseHTTPProtocolGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseHTTPProtocolGetResponse struct{…}` - `Meta HTTPAseHTTPProtocolGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseHTTPProtocolGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseHTTPProtocolGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseHTTPProtocolGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseHTTPProtocolGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationPercentage HTTPAseHTTPProtocolGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationMin0Max HTTPAseHTTPProtocolGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationMinMax HTTPAseHTTPProtocolGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationRawValues HTTPAseHTTPProtocolGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationPercentageChange HTTPAseHTTPProtocolGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationRollingAverage HTTPAseHTTPProtocolGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationOverlappedPercentage HTTPAseHTTPProtocolGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseHTTPProtocolGetResponseMetaNormalizationRatio HTTPAseHTTPProtocolGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseHTTPProtocolGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseHTTPProtocolGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) httpProtocol, err := client.Radar.HTTP.Ases.HTTPProtocol.Get( context.TODO(), radar.HTTPAseHTTPProtocolGetParamsHTTPProtocolHTTP, radar.HTTPAseHTTPProtocolGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", httpProtocol.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 } ``` # HTTP Method ## Get top ASes by HTTP requests for an HTTP version `client.Radar.HTTP.Ases.HTTPMethod.Get(ctx, httpVersion, query) (*HTTPAseHTTPMethodGetResponse, error)` **get** `/radar/http/top/ases/http_version/{http_version}` Retrieves the top autonomous systems, by HTTP requests, of the requested HTTP version. ### Parameters - `httpVersion HTTPAseHTTPMethodGetParamsHTTPVersion` HTTP version. - `const HTTPAseHTTPMethodGetParamsHTTPVersionHttPv1 HTTPAseHTTPMethodGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseHTTPMethodGetParamsHTTPVersionHttPv2 HTTPAseHTTPMethodGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseHTTPMethodGetParamsHTTPVersionHttPv3 HTTPAseHTTPMethodGetParamsHTTPVersion = "HTTPv3"` - `query HTTPAseHTTPMethodGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseHTTPMethodGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseHTTPMethodGetParamsBotClassLikelyAutomated HTTPAseHTTPMethodGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseHTTPMethodGetParamsBotClassLikelyHuman HTTPAseHTTPMethodGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseHTTPMethodGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseHTTPMethodGetParamsBrowserFamilyChrome HTTPAseHTTPMethodGetParamsBrowserFamily = "CHROME"` - `const HTTPAseHTTPMethodGetParamsBrowserFamilyEdge HTTPAseHTTPMethodGetParamsBrowserFamily = "EDGE"` - `const HTTPAseHTTPMethodGetParamsBrowserFamilyFirefox HTTPAseHTTPMethodGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseHTTPMethodGetParamsBrowserFamilySafari HTTPAseHTTPMethodGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseHTTPMethodGetParamsDeviceType]` Filters results by device type. - `const HTTPAseHTTPMethodGetParamsDeviceTypeDesktop HTTPAseHTTPMethodGetParamsDeviceType = "DESKTOP"` - `const HTTPAseHTTPMethodGetParamsDeviceTypeMobile HTTPAseHTTPMethodGetParamsDeviceType = "MOBILE"` - `const HTTPAseHTTPMethodGetParamsDeviceTypeOther HTTPAseHTTPMethodGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseHTTPMethodGetParamsFormat]` Format in which results will be returned. - `const HTTPAseHTTPMethodGetParamsFormatJson HTTPAseHTTPMethodGetParamsFormat = "JSON"` - `const HTTPAseHTTPMethodGetParamsFormatCsv HTTPAseHTTPMethodGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseHTTPMethodGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseHTTPMethodGetParamsHTTPProtocolHTTP HTTPAseHTTPMethodGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseHTTPMethodGetParamsHTTPProtocolHTTPS HTTPAseHTTPMethodGetParamsHTTPProtocol = "HTTPS"` - `IPVersion param.Field[[]HTTPAseHTTPMethodGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseHTTPMethodGetParamsIPVersionIPv4 HTTPAseHTTPMethodGetParamsIPVersion = "IPv4"` - `const HTTPAseHTTPMethodGetParamsIPVersionIPv6 HTTPAseHTTPMethodGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseHTTPMethodGetParamsOS]` Filters results by operating system. - `const HTTPAseHTTPMethodGetParamsOSWindows HTTPAseHTTPMethodGetParamsOS = "WINDOWS"` - `const HTTPAseHTTPMethodGetParamsOSMacosx HTTPAseHTTPMethodGetParamsOS = "MACOSX"` - `const HTTPAseHTTPMethodGetParamsOSIos HTTPAseHTTPMethodGetParamsOS = "IOS"` - `const HTTPAseHTTPMethodGetParamsOSAndroid HTTPAseHTTPMethodGetParamsOS = "ANDROID"` - `const HTTPAseHTTPMethodGetParamsOSChromeos HTTPAseHTTPMethodGetParamsOS = "CHROMEOS"` - `const HTTPAseHTTPMethodGetParamsOSLinux HTTPAseHTTPMethodGetParamsOS = "LINUX"` - `const HTTPAseHTTPMethodGetParamsOSSmartTv HTTPAseHTTPMethodGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseHTTPMethodGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseHTTPMethodGetParamsTLSVersionTlSv1_0 HTTPAseHTTPMethodGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseHTTPMethodGetParamsTLSVersionTlSv1_1 HTTPAseHTTPMethodGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseHTTPMethodGetParamsTLSVersionTlSv1_2 HTTPAseHTTPMethodGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseHTTPMethodGetParamsTLSVersionTlSv1_3 HTTPAseHTTPMethodGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseHTTPMethodGetParamsTLSVersionTlSvQuic HTTPAseHTTPMethodGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseHTTPMethodGetResponse struct{…}` - `Meta HTTPAseHTTPMethodGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseHTTPMethodGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseHTTPMethodGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseHTTPMethodGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseHTTPMethodGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseHTTPMethodGetResponseMetaNormalizationPercentage HTTPAseHTTPMethodGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationMin0Max HTTPAseHTTPMethodGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationMinMax HTTPAseHTTPMethodGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationRawValues HTTPAseHTTPMethodGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationPercentageChange HTTPAseHTTPMethodGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationRollingAverage HTTPAseHTTPMethodGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationOverlappedPercentage HTTPAseHTTPMethodGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseHTTPMethodGetResponseMetaNormalizationRatio HTTPAseHTTPMethodGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseHTTPMethodGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseHTTPMethodGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) httpMethod, err := client.Radar.HTTP.Ases.HTTPMethod.Get( context.TODO(), radar.HTTPAseHTTPMethodGetParamsHTTPVersionHttPv1, radar.HTTPAseHTTPMethodGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", httpMethod.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 } ``` # IP Version ## Get top ASes by HTTP requests for an IP version `client.Radar.HTTP.Ases.IPVersion.Get(ctx, ipVersion, query) (*HTTPAseIPVersionGetResponse, error)` **get** `/radar/http/top/ases/ip_version/{ip_version}` Retrieves the top autonomous systems, by HTTP requests, of the requested IP version. ### Parameters - `ipVersion HTTPAseIPVersionGetParamsIPVersion` IP version. - `const HTTPAseIPVersionGetParamsIPVersionIPv4 HTTPAseIPVersionGetParamsIPVersion = "IPv4"` - `const HTTPAseIPVersionGetParamsIPVersionIPv6 HTTPAseIPVersionGetParamsIPVersion = "IPv6"` - `query HTTPAseIPVersionGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseIPVersionGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseIPVersionGetParamsBotClassLikelyAutomated HTTPAseIPVersionGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseIPVersionGetParamsBotClassLikelyHuman HTTPAseIPVersionGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseIPVersionGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseIPVersionGetParamsBrowserFamilyChrome HTTPAseIPVersionGetParamsBrowserFamily = "CHROME"` - `const HTTPAseIPVersionGetParamsBrowserFamilyEdge HTTPAseIPVersionGetParamsBrowserFamily = "EDGE"` - `const HTTPAseIPVersionGetParamsBrowserFamilyFirefox HTTPAseIPVersionGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseIPVersionGetParamsBrowserFamilySafari HTTPAseIPVersionGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseIPVersionGetParamsDeviceType]` Filters results by device type. - `const HTTPAseIPVersionGetParamsDeviceTypeDesktop HTTPAseIPVersionGetParamsDeviceType = "DESKTOP"` - `const HTTPAseIPVersionGetParamsDeviceTypeMobile HTTPAseIPVersionGetParamsDeviceType = "MOBILE"` - `const HTTPAseIPVersionGetParamsDeviceTypeOther HTTPAseIPVersionGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseIPVersionGetParamsFormat]` Format in which results will be returned. - `const HTTPAseIPVersionGetParamsFormatJson HTTPAseIPVersionGetParamsFormat = "JSON"` - `const HTTPAseIPVersionGetParamsFormatCsv HTTPAseIPVersionGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseIPVersionGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseIPVersionGetParamsHTTPProtocolHTTP HTTPAseIPVersionGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseIPVersionGetParamsHTTPProtocolHTTPS HTTPAseIPVersionGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseIPVersionGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseIPVersionGetParamsHTTPVersionHttPv1 HTTPAseIPVersionGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseIPVersionGetParamsHTTPVersionHttPv2 HTTPAseIPVersionGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseIPVersionGetParamsHTTPVersionHttPv3 HTTPAseIPVersionGetParamsHTTPVersion = "HTTPv3"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseIPVersionGetParamsOS]` Filters results by operating system. - `const HTTPAseIPVersionGetParamsOSWindows HTTPAseIPVersionGetParamsOS = "WINDOWS"` - `const HTTPAseIPVersionGetParamsOSMacosx HTTPAseIPVersionGetParamsOS = "MACOSX"` - `const HTTPAseIPVersionGetParamsOSIos HTTPAseIPVersionGetParamsOS = "IOS"` - `const HTTPAseIPVersionGetParamsOSAndroid HTTPAseIPVersionGetParamsOS = "ANDROID"` - `const HTTPAseIPVersionGetParamsOSChromeos HTTPAseIPVersionGetParamsOS = "CHROMEOS"` - `const HTTPAseIPVersionGetParamsOSLinux HTTPAseIPVersionGetParamsOS = "LINUX"` - `const HTTPAseIPVersionGetParamsOSSmartTv HTTPAseIPVersionGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseIPVersionGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseIPVersionGetParamsTLSVersionTlSv1_0 HTTPAseIPVersionGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseIPVersionGetParamsTLSVersionTlSv1_1 HTTPAseIPVersionGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseIPVersionGetParamsTLSVersionTlSv1_2 HTTPAseIPVersionGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseIPVersionGetParamsTLSVersionTlSv1_3 HTTPAseIPVersionGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseIPVersionGetParamsTLSVersionTlSvQuic HTTPAseIPVersionGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseIPVersionGetResponse struct{…}` - `Meta HTTPAseIPVersionGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseIPVersionGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseIPVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseIPVersionGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseIPVersionGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseIPVersionGetResponseMetaNormalizationPercentage HTTPAseIPVersionGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseIPVersionGetResponseMetaNormalizationMin0Max HTTPAseIPVersionGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseIPVersionGetResponseMetaNormalizationMinMax HTTPAseIPVersionGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseIPVersionGetResponseMetaNormalizationRawValues HTTPAseIPVersionGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseIPVersionGetResponseMetaNormalizationPercentageChange HTTPAseIPVersionGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseIPVersionGetResponseMetaNormalizationRollingAverage HTTPAseIPVersionGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseIPVersionGetResponseMetaNormalizationOverlappedPercentage HTTPAseIPVersionGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseIPVersionGetResponseMetaNormalizationRatio HTTPAseIPVersionGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseIPVersionGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseIPVersionGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) ipVersion, err := client.Radar.HTTP.Ases.IPVersion.Get( context.TODO(), radar.HTTPAseIPVersionGetParamsIPVersionIPv4, radar.HTTPAseIPVersionGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", ipVersion.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 } ``` # OS ## Get top ASes by HTTP requests for an OS `client.Radar.HTTP.Ases.OS.Get(ctx, os, query) (*HTTPAseOSGetResponse, error)` **get** `/radar/http/top/ases/os/{os}` Retrieves the top autonomous systems, by HTTP requests, of the requested operating system. ### Parameters - `os HTTPAseOSGetParamsOS` Operating system. - `const HTTPAseOSGetParamsOSWindows HTTPAseOSGetParamsOS = "WINDOWS"` - `const HTTPAseOSGetParamsOSMacosx HTTPAseOSGetParamsOS = "MACOSX"` - `const HTTPAseOSGetParamsOSIos HTTPAseOSGetParamsOS = "IOS"` - `const HTTPAseOSGetParamsOSAndroid HTTPAseOSGetParamsOS = "ANDROID"` - `const HTTPAseOSGetParamsOSChromeos HTTPAseOSGetParamsOS = "CHROMEOS"` - `const HTTPAseOSGetParamsOSLinux HTTPAseOSGetParamsOS = "LINUX"` - `const HTTPAseOSGetParamsOSSmartTv HTTPAseOSGetParamsOS = "SMART_TV"` - `query HTTPAseOSGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseOSGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseOSGetParamsBotClassLikelyAutomated HTTPAseOSGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseOSGetParamsBotClassLikelyHuman HTTPAseOSGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseOSGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseOSGetParamsBrowserFamilyChrome HTTPAseOSGetParamsBrowserFamily = "CHROME"` - `const HTTPAseOSGetParamsBrowserFamilyEdge HTTPAseOSGetParamsBrowserFamily = "EDGE"` - `const HTTPAseOSGetParamsBrowserFamilyFirefox HTTPAseOSGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseOSGetParamsBrowserFamilySafari HTTPAseOSGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseOSGetParamsDeviceType]` Filters results by device type. - `const HTTPAseOSGetParamsDeviceTypeDesktop HTTPAseOSGetParamsDeviceType = "DESKTOP"` - `const HTTPAseOSGetParamsDeviceTypeMobile HTTPAseOSGetParamsDeviceType = "MOBILE"` - `const HTTPAseOSGetParamsDeviceTypeOther HTTPAseOSGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseOSGetParamsFormat]` Format in which results will be returned. - `const HTTPAseOSGetParamsFormatJson HTTPAseOSGetParamsFormat = "JSON"` - `const HTTPAseOSGetParamsFormatCsv HTTPAseOSGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseOSGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseOSGetParamsHTTPProtocolHTTP HTTPAseOSGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseOSGetParamsHTTPProtocolHTTPS HTTPAseOSGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseOSGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseOSGetParamsHTTPVersionHttPv1 HTTPAseOSGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseOSGetParamsHTTPVersionHttPv2 HTTPAseOSGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseOSGetParamsHTTPVersionHttPv3 HTTPAseOSGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseOSGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseOSGetParamsIPVersionIPv4 HTTPAseOSGetParamsIPVersion = "IPv4"` - `const HTTPAseOSGetParamsIPVersionIPv6 HTTPAseOSGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]HTTPAseOSGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseOSGetParamsTLSVersionTlSv1_0 HTTPAseOSGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseOSGetParamsTLSVersionTlSv1_1 HTTPAseOSGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseOSGetParamsTLSVersionTlSv1_2 HTTPAseOSGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseOSGetParamsTLSVersionTlSv1_3 HTTPAseOSGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseOSGetParamsTLSVersionTlSvQuic HTTPAseOSGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseOSGetResponse struct{…}` - `Meta HTTPAseOSGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseOSGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseOSGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseOSGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseOSGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseOSGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseOSGetResponseMetaNormalizationPercentage HTTPAseOSGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseOSGetResponseMetaNormalizationMin0Max HTTPAseOSGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseOSGetResponseMetaNormalizationMinMax HTTPAseOSGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseOSGetResponseMetaNormalizationRawValues HTTPAseOSGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseOSGetResponseMetaNormalizationPercentageChange HTTPAseOSGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseOSGetResponseMetaNormalizationRollingAverage HTTPAseOSGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseOSGetResponseMetaNormalizationOverlappedPercentage HTTPAseOSGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseOSGetResponseMetaNormalizationRatio HTTPAseOSGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseOSGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseOSGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) os, err := client.Radar.HTTP.Ases.OS.Get( context.TODO(), radar.HTTPAseOSGetParamsOSWindows, radar.HTTPAseOSGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", os.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 } ``` # TLS Version ## Get top ASes by HTTP requests for a TLS version `client.Radar.HTTP.Ases.TLSVersion.Get(ctx, tlsVersion, query) (*HTTPAseTLSVersionGetResponse, error)` **get** `/radar/http/top/ases/tls_version/{tls_version}` Retrieves the top autonomous systems, by HTTP requests, of the requested TLS protocol version. ### Parameters - `tlsVersion HTTPAseTLSVersionGetParamsTLSVersion` TLS version. - `const HTTPAseTLSVersionGetParamsTLSVersionTlSv1_0 HTTPAseTLSVersionGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseTLSVersionGetParamsTLSVersionTlSv1_1 HTTPAseTLSVersionGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseTLSVersionGetParamsTLSVersionTlSv1_2 HTTPAseTLSVersionGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseTLSVersionGetParamsTLSVersionTlSv1_3 HTTPAseTLSVersionGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseTLSVersionGetParamsTLSVersionTlSvQuic HTTPAseTLSVersionGetParamsTLSVersion = "TLSvQUIC"` - `query HTTPAseTLSVersionGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseTLSVersionGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseTLSVersionGetParamsBotClassLikelyAutomated HTTPAseTLSVersionGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseTLSVersionGetParamsBotClassLikelyHuman HTTPAseTLSVersionGetParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPAseTLSVersionGetParamsBrowserFamily]` Filters results by browser family. - `const HTTPAseTLSVersionGetParamsBrowserFamilyChrome HTTPAseTLSVersionGetParamsBrowserFamily = "CHROME"` - `const HTTPAseTLSVersionGetParamsBrowserFamilyEdge HTTPAseTLSVersionGetParamsBrowserFamily = "EDGE"` - `const HTTPAseTLSVersionGetParamsBrowserFamilyFirefox HTTPAseTLSVersionGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseTLSVersionGetParamsBrowserFamilySafari HTTPAseTLSVersionGetParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseTLSVersionGetParamsDeviceType]` Filters results by device type. - `const HTTPAseTLSVersionGetParamsDeviceTypeDesktop HTTPAseTLSVersionGetParamsDeviceType = "DESKTOP"` - `const HTTPAseTLSVersionGetParamsDeviceTypeMobile HTTPAseTLSVersionGetParamsDeviceType = "MOBILE"` - `const HTTPAseTLSVersionGetParamsDeviceTypeOther HTTPAseTLSVersionGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseTLSVersionGetParamsFormat]` Format in which results will be returned. - `const HTTPAseTLSVersionGetParamsFormatJson HTTPAseTLSVersionGetParamsFormat = "JSON"` - `const HTTPAseTLSVersionGetParamsFormatCsv HTTPAseTLSVersionGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseTLSVersionGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseTLSVersionGetParamsHTTPProtocolHTTP HTTPAseTLSVersionGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseTLSVersionGetParamsHTTPProtocolHTTPS HTTPAseTLSVersionGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseTLSVersionGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseTLSVersionGetParamsHTTPVersionHttPv1 HTTPAseTLSVersionGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseTLSVersionGetParamsHTTPVersionHttPv2 HTTPAseTLSVersionGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseTLSVersionGetParamsHTTPVersionHttPv3 HTTPAseTLSVersionGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseTLSVersionGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseTLSVersionGetParamsIPVersionIPv4 HTTPAseTLSVersionGetParamsIPVersion = "IPv4"` - `const HTTPAseTLSVersionGetParamsIPVersionIPv6 HTTPAseTLSVersionGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseTLSVersionGetParamsOS]` Filters results by operating system. - `const HTTPAseTLSVersionGetParamsOSWindows HTTPAseTLSVersionGetParamsOS = "WINDOWS"` - `const HTTPAseTLSVersionGetParamsOSMacosx HTTPAseTLSVersionGetParamsOS = "MACOSX"` - `const HTTPAseTLSVersionGetParamsOSIos HTTPAseTLSVersionGetParamsOS = "IOS"` - `const HTTPAseTLSVersionGetParamsOSAndroid HTTPAseTLSVersionGetParamsOS = "ANDROID"` - `const HTTPAseTLSVersionGetParamsOSChromeos HTTPAseTLSVersionGetParamsOS = "CHROMEOS"` - `const HTTPAseTLSVersionGetParamsOSLinux HTTPAseTLSVersionGetParamsOS = "LINUX"` - `const HTTPAseTLSVersionGetParamsOSSmartTv HTTPAseTLSVersionGetParamsOS = "SMART_TV"` ### Returns - `type HTTPAseTLSVersionGetResponse struct{…}` - `Meta HTTPAseTLSVersionGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseTLSVersionGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseTLSVersionGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseTLSVersionGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseTLSVersionGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseTLSVersionGetResponseMetaNormalizationPercentage HTTPAseTLSVersionGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationMin0Max HTTPAseTLSVersionGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationMinMax HTTPAseTLSVersionGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationRawValues HTTPAseTLSVersionGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationPercentageChange HTTPAseTLSVersionGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationRollingAverage HTTPAseTLSVersionGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationOverlappedPercentage HTTPAseTLSVersionGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseTLSVersionGetResponseMetaNormalizationRatio HTTPAseTLSVersionGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseTLSVersionGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseTLSVersionGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) tlsVersion, err := client.Radar.HTTP.Ases.TLSVersion.Get( context.TODO(), radar.HTTPAseTLSVersionGetParamsTLSVersionTlSv1_0, radar.HTTPAseTLSVersionGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", tlsVersion.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 } ``` # Browser Family ## Get top ASes by HTTP requests for a browser family `client.Radar.HTTP.Ases.BrowserFamily.Get(ctx, browserFamily, query) (*HTTPAseBrowserFamilyGetResponse, error)` **get** `/radar/http/top/ases/browser_family/{browser_family}` Retrieves the top autonomous systems, by HTTP requests, of the requested browser family. ### Parameters - `browserFamily HTTPAseBrowserFamilyGetParamsBrowserFamily` Browser family. - `const HTTPAseBrowserFamilyGetParamsBrowserFamilyChrome HTTPAseBrowserFamilyGetParamsBrowserFamily = "CHROME"` - `const HTTPAseBrowserFamilyGetParamsBrowserFamilyEdge HTTPAseBrowserFamilyGetParamsBrowserFamily = "EDGE"` - `const HTTPAseBrowserFamilyGetParamsBrowserFamilyFirefox HTTPAseBrowserFamilyGetParamsBrowserFamily = "FIREFOX"` - `const HTTPAseBrowserFamilyGetParamsBrowserFamilySafari HTTPAseBrowserFamilyGetParamsBrowserFamily = "SAFARI"` - `query HTTPAseBrowserFamilyGetParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPAseBrowserFamilyGetParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPAseBrowserFamilyGetParamsBotClassLikelyAutomated HTTPAseBrowserFamilyGetParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPAseBrowserFamilyGetParamsBotClassLikelyHuman HTTPAseBrowserFamilyGetParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPAseBrowserFamilyGetParamsDeviceType]` Filters results by device type. - `const HTTPAseBrowserFamilyGetParamsDeviceTypeDesktop HTTPAseBrowserFamilyGetParamsDeviceType = "DESKTOP"` - `const HTTPAseBrowserFamilyGetParamsDeviceTypeMobile HTTPAseBrowserFamilyGetParamsDeviceType = "MOBILE"` - `const HTTPAseBrowserFamilyGetParamsDeviceTypeOther HTTPAseBrowserFamilyGetParamsDeviceType = "OTHER"` - `Format param.Field[HTTPAseBrowserFamilyGetParamsFormat]` Format in which results will be returned. - `const HTTPAseBrowserFamilyGetParamsFormatJson HTTPAseBrowserFamilyGetParamsFormat = "JSON"` - `const HTTPAseBrowserFamilyGetParamsFormatCsv HTTPAseBrowserFamilyGetParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPAseBrowserFamilyGetParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPAseBrowserFamilyGetParamsHTTPProtocolHTTP HTTPAseBrowserFamilyGetParamsHTTPProtocol = "HTTP"` - `const HTTPAseBrowserFamilyGetParamsHTTPProtocolHTTPS HTTPAseBrowserFamilyGetParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPAseBrowserFamilyGetParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPAseBrowserFamilyGetParamsHTTPVersionHttPv1 HTTPAseBrowserFamilyGetParamsHTTPVersion = "HTTPv1"` - `const HTTPAseBrowserFamilyGetParamsHTTPVersionHttPv2 HTTPAseBrowserFamilyGetParamsHTTPVersion = "HTTPv2"` - `const HTTPAseBrowserFamilyGetParamsHTTPVersionHttPv3 HTTPAseBrowserFamilyGetParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPAseBrowserFamilyGetParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPAseBrowserFamilyGetParamsIPVersionIPv4 HTTPAseBrowserFamilyGetParamsIPVersion = "IPv4"` - `const HTTPAseBrowserFamilyGetParamsIPVersionIPv6 HTTPAseBrowserFamilyGetParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPAseBrowserFamilyGetParamsOS]` Filters results by operating system. - `const HTTPAseBrowserFamilyGetParamsOSWindows HTTPAseBrowserFamilyGetParamsOS = "WINDOWS"` - `const HTTPAseBrowserFamilyGetParamsOSMacosx HTTPAseBrowserFamilyGetParamsOS = "MACOSX"` - `const HTTPAseBrowserFamilyGetParamsOSIos HTTPAseBrowserFamilyGetParamsOS = "IOS"` - `const HTTPAseBrowserFamilyGetParamsOSAndroid HTTPAseBrowserFamilyGetParamsOS = "ANDROID"` - `const HTTPAseBrowserFamilyGetParamsOSChromeos HTTPAseBrowserFamilyGetParamsOS = "CHROMEOS"` - `const HTTPAseBrowserFamilyGetParamsOSLinux HTTPAseBrowserFamilyGetParamsOS = "LINUX"` - `const HTTPAseBrowserFamilyGetParamsOSSmartTv HTTPAseBrowserFamilyGetParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPAseBrowserFamilyGetParamsTLSVersion]` Filters results by TLS version. - `const HTTPAseBrowserFamilyGetParamsTLSVersionTlSv1_0 HTTPAseBrowserFamilyGetParamsTLSVersion = "TLSv1_0"` - `const HTTPAseBrowserFamilyGetParamsTLSVersionTlSv1_1 HTTPAseBrowserFamilyGetParamsTLSVersion = "TLSv1_1"` - `const HTTPAseBrowserFamilyGetParamsTLSVersionTlSv1_2 HTTPAseBrowserFamilyGetParamsTLSVersion = "TLSv1_2"` - `const HTTPAseBrowserFamilyGetParamsTLSVersionTlSv1_3 HTTPAseBrowserFamilyGetParamsTLSVersion = "TLSv1_3"` - `const HTTPAseBrowserFamilyGetParamsTLSVersionTlSvQuic HTTPAseBrowserFamilyGetParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPAseBrowserFamilyGetResponse struct{…}` - `Meta HTTPAseBrowserFamilyGetResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPAseBrowserFamilyGetResponseMetaConfidenceInfo` - `Annotations []HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPAseBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPAseBrowserFamilyGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPAseBrowserFamilyGetResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationPercentage HTTPAseBrowserFamilyGetResponseMetaNormalization = "PERCENTAGE"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationMin0Max HTTPAseBrowserFamilyGetResponseMetaNormalization = "MIN0_MAX"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationMinMax HTTPAseBrowserFamilyGetResponseMetaNormalization = "MIN_MAX"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationRawValues HTTPAseBrowserFamilyGetResponseMetaNormalization = "RAW_VALUES"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationPercentageChange HTTPAseBrowserFamilyGetResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationRollingAverage HTTPAseBrowserFamilyGetResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationOverlappedPercentage HTTPAseBrowserFamilyGetResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPAseBrowserFamilyGetResponseMetaNormalizationRatio HTTPAseBrowserFamilyGetResponseMetaNormalization = "RATIO"` - `Units []HTTPAseBrowserFamilyGetResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPAseBrowserFamilyGetResponseTop0` - `ClientASN int64` - `ClientAsName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) browserFamily, err := client.Radar.HTTP.Ases.BrowserFamily.Get( context.TODO(), radar.HTTPAseBrowserFamilyGetParamsBrowserFamilyChrome, radar.HTTPAseBrowserFamilyGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", browserFamily.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 } ``` # Summary ## Get HTTP requests by bot class summary `client.Radar.HTTP.Summary.BotClass(ctx, query) (*HTTPSummaryBotClassResponse, error)` **get** `/radar/http/summary/bot_class` Retrieves the distribution of bot-generated HTTP requests to genuine human traffic, as classified by Cloudflare. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information. ### Parameters - `query HTTPSummaryBotClassParams` - `ASN param.Field[[]string]` 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. - `BrowserFamily param.Field[[]HTTPSummaryBotClassParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryBotClassParamsBrowserFamilyChrome HTTPSummaryBotClassParamsBrowserFamily = "CHROME"` - `const HTTPSummaryBotClassParamsBrowserFamilyEdge HTTPSummaryBotClassParamsBrowserFamily = "EDGE"` - `const HTTPSummaryBotClassParamsBrowserFamilyFirefox HTTPSummaryBotClassParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryBotClassParamsBrowserFamilySafari HTTPSummaryBotClassParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryBotClassParamsDeviceType]` Filters results by device type. - `const HTTPSummaryBotClassParamsDeviceTypeDesktop HTTPSummaryBotClassParamsDeviceType = "DESKTOP"` - `const HTTPSummaryBotClassParamsDeviceTypeMobile HTTPSummaryBotClassParamsDeviceType = "MOBILE"` - `const HTTPSummaryBotClassParamsDeviceTypeOther HTTPSummaryBotClassParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryBotClassParamsFormat]` Format in which results will be returned. - `const HTTPSummaryBotClassParamsFormatJson HTTPSummaryBotClassParamsFormat = "JSON"` - `const HTTPSummaryBotClassParamsFormatCsv HTTPSummaryBotClassParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryBotClassParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryBotClassParamsHTTPProtocolHTTP HTTPSummaryBotClassParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryBotClassParamsHTTPProtocolHTTPS HTTPSummaryBotClassParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryBotClassParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryBotClassParamsHTTPVersionHttPv1 HTTPSummaryBotClassParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryBotClassParamsHTTPVersionHttPv2 HTTPSummaryBotClassParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryBotClassParamsHTTPVersionHttPv3 HTTPSummaryBotClassParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryBotClassParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryBotClassParamsIPVersionIPv4 HTTPSummaryBotClassParamsIPVersion = "IPv4"` - `const HTTPSummaryBotClassParamsIPVersionIPv6 HTTPSummaryBotClassParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryBotClassParamsOS]` Filters results by operating system. - `const HTTPSummaryBotClassParamsOSWindows HTTPSummaryBotClassParamsOS = "WINDOWS"` - `const HTTPSummaryBotClassParamsOSMacosx HTTPSummaryBotClassParamsOS = "MACOSX"` - `const HTTPSummaryBotClassParamsOSIos HTTPSummaryBotClassParamsOS = "IOS"` - `const HTTPSummaryBotClassParamsOSAndroid HTTPSummaryBotClassParamsOS = "ANDROID"` - `const HTTPSummaryBotClassParamsOSChromeos HTTPSummaryBotClassParamsOS = "CHROMEOS"` - `const HTTPSummaryBotClassParamsOSLinux HTTPSummaryBotClassParamsOS = "LINUX"` - `const HTTPSummaryBotClassParamsOSSmartTv HTTPSummaryBotClassParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryBotClassParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryBotClassParamsTLSVersionTlSv1_0 HTTPSummaryBotClassParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryBotClassParamsTLSVersionTlSv1_1 HTTPSummaryBotClassParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryBotClassParamsTLSVersionTlSv1_2 HTTPSummaryBotClassParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryBotClassParamsTLSVersionTlSv1_3 HTTPSummaryBotClassParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryBotClassParamsTLSVersionTlSvQuic HTTPSummaryBotClassParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryBotClassResponse struct{…}` - `Meta HTTPSummaryBotClassResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryBotClassResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryBotClassResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryBotClassResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryBotClassResponseMetaNormalizationPercentage HTTPSummaryBotClassResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryBotClassResponseMetaNormalizationMin0Max HTTPSummaryBotClassResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryBotClassResponseMetaNormalizationMinMax HTTPSummaryBotClassResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryBotClassResponseMetaNormalizationRawValues HTTPSummaryBotClassResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryBotClassResponseMetaNormalizationPercentageChange HTTPSummaryBotClassResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryBotClassResponseMetaNormalizationRollingAverage HTTPSummaryBotClassResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryBotClassResponseMetaNormalizationOverlappedPercentage HTTPSummaryBotClassResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryBotClassResponseMetaNormalizationRatio HTTPSummaryBotClassResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryBotClassResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryBotClassResponseSummary0` - `Bot string` A numeric string. - `Human string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.BotClass(context.TODO(), radar.HTTPSummaryBotClassParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "bot": "10", "human": "10" } }, "success": true } ``` ## Get HTTP requests by device type summary `client.Radar.HTTP.Summary.DeviceType(ctx, query) (*HTTPSummaryDeviceTypeResponse, error)` **get** `/radar/http/summary/device_type` Retrieves the distribution of HTTP requests generated by mobile, desktop, and other types of devices. ### Parameters - `query HTTPSummaryDeviceTypeParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryDeviceTypeParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryDeviceTypeParamsBotClassLikelyAutomated HTTPSummaryDeviceTypeParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryDeviceTypeParamsBotClassLikelyHuman HTTPSummaryDeviceTypeParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryDeviceTypeParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryDeviceTypeParamsBrowserFamilyChrome HTTPSummaryDeviceTypeParamsBrowserFamily = "CHROME"` - `const HTTPSummaryDeviceTypeParamsBrowserFamilyEdge HTTPSummaryDeviceTypeParamsBrowserFamily = "EDGE"` - `const HTTPSummaryDeviceTypeParamsBrowserFamilyFirefox HTTPSummaryDeviceTypeParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryDeviceTypeParamsBrowserFamilySafari HTTPSummaryDeviceTypeParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[HTTPSummaryDeviceTypeParamsFormat]` Format in which results will be returned. - `const HTTPSummaryDeviceTypeParamsFormatJson HTTPSummaryDeviceTypeParamsFormat = "JSON"` - `const HTTPSummaryDeviceTypeParamsFormatCsv HTTPSummaryDeviceTypeParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryDeviceTypeParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryDeviceTypeParamsHTTPProtocolHTTP HTTPSummaryDeviceTypeParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryDeviceTypeParamsHTTPProtocolHTTPS HTTPSummaryDeviceTypeParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryDeviceTypeParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryDeviceTypeParamsHTTPVersionHttPv1 HTTPSummaryDeviceTypeParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryDeviceTypeParamsHTTPVersionHttPv2 HTTPSummaryDeviceTypeParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryDeviceTypeParamsHTTPVersionHttPv3 HTTPSummaryDeviceTypeParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryDeviceTypeParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryDeviceTypeParamsIPVersionIPv4 HTTPSummaryDeviceTypeParamsIPVersion = "IPv4"` - `const HTTPSummaryDeviceTypeParamsIPVersionIPv6 HTTPSummaryDeviceTypeParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryDeviceTypeParamsOS]` Filters results by operating system. - `const HTTPSummaryDeviceTypeParamsOSWindows HTTPSummaryDeviceTypeParamsOS = "WINDOWS"` - `const HTTPSummaryDeviceTypeParamsOSMacosx HTTPSummaryDeviceTypeParamsOS = "MACOSX"` - `const HTTPSummaryDeviceTypeParamsOSIos HTTPSummaryDeviceTypeParamsOS = "IOS"` - `const HTTPSummaryDeviceTypeParamsOSAndroid HTTPSummaryDeviceTypeParamsOS = "ANDROID"` - `const HTTPSummaryDeviceTypeParamsOSChromeos HTTPSummaryDeviceTypeParamsOS = "CHROMEOS"` - `const HTTPSummaryDeviceTypeParamsOSLinux HTTPSummaryDeviceTypeParamsOS = "LINUX"` - `const HTTPSummaryDeviceTypeParamsOSSmartTv HTTPSummaryDeviceTypeParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryDeviceTypeParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryDeviceTypeParamsTLSVersionTlSv1_0 HTTPSummaryDeviceTypeParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryDeviceTypeParamsTLSVersionTlSv1_1 HTTPSummaryDeviceTypeParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryDeviceTypeParamsTLSVersionTlSv1_2 HTTPSummaryDeviceTypeParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryDeviceTypeParamsTLSVersionTlSv1_3 HTTPSummaryDeviceTypeParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryDeviceTypeParamsTLSVersionTlSvQuic HTTPSummaryDeviceTypeParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryDeviceTypeResponse struct{…}` - `Meta HTTPSummaryDeviceTypeResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryDeviceTypeResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryDeviceTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryDeviceTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryDeviceTypeResponseMetaNormalizationPercentage HTTPSummaryDeviceTypeResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationMin0Max HTTPSummaryDeviceTypeResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationMinMax HTTPSummaryDeviceTypeResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationRawValues HTTPSummaryDeviceTypeResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationPercentageChange HTTPSummaryDeviceTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationRollingAverage HTTPSummaryDeviceTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationOverlappedPercentage HTTPSummaryDeviceTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryDeviceTypeResponseMetaNormalizationRatio HTTPSummaryDeviceTypeResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryDeviceTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryDeviceTypeResponseSummary0` - `Desktop string` A numeric string. - `Mobile string` A numeric string. - `Other string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.DeviceType(context.TODO(), radar.HTTPSummaryDeviceTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "desktop": "10", "mobile": "10", "other": "10" } }, "success": true } ``` ## Get HTTP requests by HTTP/HTTPS summary `client.Radar.HTTP.Summary.HTTPProtocol(ctx, query) (*HTTPSummaryHTTPProtocolResponse, error)` **get** `/radar/http/summary/http_protocol` Retrieves the distribution of HTTP requests by HTTP protocol (HTTP vs. HTTPS). ### Parameters - `query HTTPSummaryHTTPProtocolParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryHTTPProtocolParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryHTTPProtocolParamsBotClassLikelyAutomated HTTPSummaryHTTPProtocolParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryHTTPProtocolParamsBotClassLikelyHuman HTTPSummaryHTTPProtocolParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryHTTPProtocolParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryHTTPProtocolParamsBrowserFamilyChrome HTTPSummaryHTTPProtocolParamsBrowserFamily = "CHROME"` - `const HTTPSummaryHTTPProtocolParamsBrowserFamilyEdge HTTPSummaryHTTPProtocolParamsBrowserFamily = "EDGE"` - `const HTTPSummaryHTTPProtocolParamsBrowserFamilyFirefox HTTPSummaryHTTPProtocolParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryHTTPProtocolParamsBrowserFamilySafari HTTPSummaryHTTPProtocolParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryHTTPProtocolParamsDeviceType]` Filters results by device type. - `const HTTPSummaryHTTPProtocolParamsDeviceTypeDesktop HTTPSummaryHTTPProtocolParamsDeviceType = "DESKTOP"` - `const HTTPSummaryHTTPProtocolParamsDeviceTypeMobile HTTPSummaryHTTPProtocolParamsDeviceType = "MOBILE"` - `const HTTPSummaryHTTPProtocolParamsDeviceTypeOther HTTPSummaryHTTPProtocolParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryHTTPProtocolParamsFormat]` Format in which results will be returned. - `const HTTPSummaryHTTPProtocolParamsFormatJson HTTPSummaryHTTPProtocolParamsFormat = "JSON"` - `const HTTPSummaryHTTPProtocolParamsFormatCsv HTTPSummaryHTTPProtocolParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPVersion param.Field[[]HTTPSummaryHTTPProtocolParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryHTTPProtocolParamsHTTPVersionHttPv1 HTTPSummaryHTTPProtocolParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryHTTPProtocolParamsHTTPVersionHttPv2 HTTPSummaryHTTPProtocolParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryHTTPProtocolParamsHTTPVersionHttPv3 HTTPSummaryHTTPProtocolParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryHTTPProtocolParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryHTTPProtocolParamsIPVersionIPv4 HTTPSummaryHTTPProtocolParamsIPVersion = "IPv4"` - `const HTTPSummaryHTTPProtocolParamsIPVersionIPv6 HTTPSummaryHTTPProtocolParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryHTTPProtocolParamsOS]` Filters results by operating system. - `const HTTPSummaryHTTPProtocolParamsOSWindows HTTPSummaryHTTPProtocolParamsOS = "WINDOWS"` - `const HTTPSummaryHTTPProtocolParamsOSMacosx HTTPSummaryHTTPProtocolParamsOS = "MACOSX"` - `const HTTPSummaryHTTPProtocolParamsOSIos HTTPSummaryHTTPProtocolParamsOS = "IOS"` - `const HTTPSummaryHTTPProtocolParamsOSAndroid HTTPSummaryHTTPProtocolParamsOS = "ANDROID"` - `const HTTPSummaryHTTPProtocolParamsOSChromeos HTTPSummaryHTTPProtocolParamsOS = "CHROMEOS"` - `const HTTPSummaryHTTPProtocolParamsOSLinux HTTPSummaryHTTPProtocolParamsOS = "LINUX"` - `const HTTPSummaryHTTPProtocolParamsOSSmartTv HTTPSummaryHTTPProtocolParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryHTTPProtocolParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryHTTPProtocolParamsTLSVersionTlSv1_0 HTTPSummaryHTTPProtocolParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryHTTPProtocolParamsTLSVersionTlSv1_1 HTTPSummaryHTTPProtocolParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryHTTPProtocolParamsTLSVersionTlSv1_2 HTTPSummaryHTTPProtocolParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryHTTPProtocolParamsTLSVersionTlSv1_3 HTTPSummaryHTTPProtocolParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryHTTPProtocolParamsTLSVersionTlSvQuic HTTPSummaryHTTPProtocolParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryHTTPProtocolResponse struct{…}` - `Meta HTTPSummaryHTTPProtocolResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryHTTPProtocolResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryHTTPProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryHTTPProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationPercentage HTTPSummaryHTTPProtocolResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationMin0Max HTTPSummaryHTTPProtocolResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationMinMax HTTPSummaryHTTPProtocolResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationRawValues HTTPSummaryHTTPProtocolResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationPercentageChange HTTPSummaryHTTPProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationRollingAverage HTTPSummaryHTTPProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationOverlappedPercentage HTTPSummaryHTTPProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryHTTPProtocolResponseMetaNormalizationRatio HTTPSummaryHTTPProtocolResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryHTTPProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryHTTPProtocolResponseSummary0` - `HTTP string` A numeric string. - `HTTPS string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.HTTPProtocol(context.TODO(), radar.HTTPSummaryHTTPProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "http": "10", "https": "10" } }, "success": true } ``` ## Get HTTP requests by HTTP version summary `client.Radar.HTTP.Summary.HTTPVersion(ctx, query) (*HTTPSummaryHTTPVersionResponse, error)` **get** `/radar/http/summary/http_version` Retrieves the distribution of HTTP requests by HTTP version. ### Parameters - `query HTTPSummaryHTTPVersionParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryHTTPVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryHTTPVersionParamsBotClassLikelyAutomated HTTPSummaryHTTPVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryHTTPVersionParamsBotClassLikelyHuman HTTPSummaryHTTPVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryHTTPVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryHTTPVersionParamsBrowserFamilyChrome HTTPSummaryHTTPVersionParamsBrowserFamily = "CHROME"` - `const HTTPSummaryHTTPVersionParamsBrowserFamilyEdge HTTPSummaryHTTPVersionParamsBrowserFamily = "EDGE"` - `const HTTPSummaryHTTPVersionParamsBrowserFamilyFirefox HTTPSummaryHTTPVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryHTTPVersionParamsBrowserFamilySafari HTTPSummaryHTTPVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryHTTPVersionParamsDeviceType]` Filters results by device type. - `const HTTPSummaryHTTPVersionParamsDeviceTypeDesktop HTTPSummaryHTTPVersionParamsDeviceType = "DESKTOP"` - `const HTTPSummaryHTTPVersionParamsDeviceTypeMobile HTTPSummaryHTTPVersionParamsDeviceType = "MOBILE"` - `const HTTPSummaryHTTPVersionParamsDeviceTypeOther HTTPSummaryHTTPVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryHTTPVersionParamsFormat]` Format in which results will be returned. - `const HTTPSummaryHTTPVersionParamsFormatJson HTTPSummaryHTTPVersionParamsFormat = "JSON"` - `const HTTPSummaryHTTPVersionParamsFormatCsv HTTPSummaryHTTPVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryHTTPVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryHTTPVersionParamsHTTPProtocolHTTP HTTPSummaryHTTPVersionParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryHTTPVersionParamsHTTPProtocolHTTPS HTTPSummaryHTTPVersionParamsHTTPProtocol = "HTTPS"` - `IPVersion param.Field[[]HTTPSummaryHTTPVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryHTTPVersionParamsIPVersionIPv4 HTTPSummaryHTTPVersionParamsIPVersion = "IPv4"` - `const HTTPSummaryHTTPVersionParamsIPVersionIPv6 HTTPSummaryHTTPVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryHTTPVersionParamsOS]` Filters results by operating system. - `const HTTPSummaryHTTPVersionParamsOSWindows HTTPSummaryHTTPVersionParamsOS = "WINDOWS"` - `const HTTPSummaryHTTPVersionParamsOSMacosx HTTPSummaryHTTPVersionParamsOS = "MACOSX"` - `const HTTPSummaryHTTPVersionParamsOSIos HTTPSummaryHTTPVersionParamsOS = "IOS"` - `const HTTPSummaryHTTPVersionParamsOSAndroid HTTPSummaryHTTPVersionParamsOS = "ANDROID"` - `const HTTPSummaryHTTPVersionParamsOSChromeos HTTPSummaryHTTPVersionParamsOS = "CHROMEOS"` - `const HTTPSummaryHTTPVersionParamsOSLinux HTTPSummaryHTTPVersionParamsOS = "LINUX"` - `const HTTPSummaryHTTPVersionParamsOSSmartTv HTTPSummaryHTTPVersionParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryHTTPVersionParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryHTTPVersionParamsTLSVersionTlSv1_0 HTTPSummaryHTTPVersionParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryHTTPVersionParamsTLSVersionTlSv1_1 HTTPSummaryHTTPVersionParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryHTTPVersionParamsTLSVersionTlSv1_2 HTTPSummaryHTTPVersionParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryHTTPVersionParamsTLSVersionTlSv1_3 HTTPSummaryHTTPVersionParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryHTTPVersionParamsTLSVersionTlSvQuic HTTPSummaryHTTPVersionParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryHTTPVersionResponse struct{…}` - `Meta HTTPSummaryHTTPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryHTTPVersionResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryHTTPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryHTTPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryHTTPVersionResponseMetaNormalizationPercentage HTTPSummaryHTTPVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationMin0Max HTTPSummaryHTTPVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationMinMax HTTPSummaryHTTPVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationRawValues HTTPSummaryHTTPVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationPercentageChange HTTPSummaryHTTPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationRollingAverage HTTPSummaryHTTPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationOverlappedPercentage HTTPSummaryHTTPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryHTTPVersionResponseMetaNormalizationRatio HTTPSummaryHTTPVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryHTTPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryHTTPVersionResponseSummary0` - `HTTP1X string` A numeric string. - `HTTP2 string` A numeric string. - `HTTP3 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.HTTPVersion(context.TODO(), radar.HTTPSummaryHTTPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP/1.x": "10", "HTTP/2": "10", "HTTP/3": "10" } }, "success": true } ``` ## Get HTTP requests by IP version summary `client.Radar.HTTP.Summary.IPVersion(ctx, query) (*HTTPSummaryIPVersionResponse, error)` **get** `/radar/http/summary/ip_version` Retrieves the distribution of HTTP requests by IP version. ### Parameters - `query HTTPSummaryIPVersionParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryIPVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryIPVersionParamsBotClassLikelyAutomated HTTPSummaryIPVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryIPVersionParamsBotClassLikelyHuman HTTPSummaryIPVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryIPVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryIPVersionParamsBrowserFamilyChrome HTTPSummaryIPVersionParamsBrowserFamily = "CHROME"` - `const HTTPSummaryIPVersionParamsBrowserFamilyEdge HTTPSummaryIPVersionParamsBrowserFamily = "EDGE"` - `const HTTPSummaryIPVersionParamsBrowserFamilyFirefox HTTPSummaryIPVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryIPVersionParamsBrowserFamilySafari HTTPSummaryIPVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryIPVersionParamsDeviceType]` Filters results by device type. - `const HTTPSummaryIPVersionParamsDeviceTypeDesktop HTTPSummaryIPVersionParamsDeviceType = "DESKTOP"` - `const HTTPSummaryIPVersionParamsDeviceTypeMobile HTTPSummaryIPVersionParamsDeviceType = "MOBILE"` - `const HTTPSummaryIPVersionParamsDeviceTypeOther HTTPSummaryIPVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryIPVersionParamsFormat]` Format in which results will be returned. - `const HTTPSummaryIPVersionParamsFormatJson HTTPSummaryIPVersionParamsFormat = "JSON"` - `const HTTPSummaryIPVersionParamsFormatCsv HTTPSummaryIPVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryIPVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryIPVersionParamsHTTPProtocolHTTP HTTPSummaryIPVersionParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryIPVersionParamsHTTPProtocolHTTPS HTTPSummaryIPVersionParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryIPVersionParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryIPVersionParamsHTTPVersionHttPv1 HTTPSummaryIPVersionParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryIPVersionParamsHTTPVersionHttPv2 HTTPSummaryIPVersionParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryIPVersionParamsHTTPVersionHttPv3 HTTPSummaryIPVersionParamsHTTPVersion = "HTTPv3"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryIPVersionParamsOS]` Filters results by operating system. - `const HTTPSummaryIPVersionParamsOSWindows HTTPSummaryIPVersionParamsOS = "WINDOWS"` - `const HTTPSummaryIPVersionParamsOSMacosx HTTPSummaryIPVersionParamsOS = "MACOSX"` - `const HTTPSummaryIPVersionParamsOSIos HTTPSummaryIPVersionParamsOS = "IOS"` - `const HTTPSummaryIPVersionParamsOSAndroid HTTPSummaryIPVersionParamsOS = "ANDROID"` - `const HTTPSummaryIPVersionParamsOSChromeos HTTPSummaryIPVersionParamsOS = "CHROMEOS"` - `const HTTPSummaryIPVersionParamsOSLinux HTTPSummaryIPVersionParamsOS = "LINUX"` - `const HTTPSummaryIPVersionParamsOSSmartTv HTTPSummaryIPVersionParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryIPVersionParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryIPVersionParamsTLSVersionTlSv1_0 HTTPSummaryIPVersionParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryIPVersionParamsTLSVersionTlSv1_1 HTTPSummaryIPVersionParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryIPVersionParamsTLSVersionTlSv1_2 HTTPSummaryIPVersionParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryIPVersionParamsTLSVersionTlSv1_3 HTTPSummaryIPVersionParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryIPVersionParamsTLSVersionTlSvQuic HTTPSummaryIPVersionParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryIPVersionResponse struct{…}` - `Meta HTTPSummaryIPVersionResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryIPVersionResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryIPVersionResponseMetaNormalizationPercentage HTTPSummaryIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryIPVersionResponseMetaNormalizationMin0Max HTTPSummaryIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryIPVersionResponseMetaNormalizationMinMax HTTPSummaryIPVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryIPVersionResponseMetaNormalizationRawValues HTTPSummaryIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryIPVersionResponseMetaNormalizationPercentageChange HTTPSummaryIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryIPVersionResponseMetaNormalizationRollingAverage HTTPSummaryIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryIPVersionResponseMetaNormalizationOverlappedPercentage HTTPSummaryIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryIPVersionResponseMetaNormalizationRatio HTTPSummaryIPVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryIPVersionResponseSummary0` - `IPv4 string` A numeric string. - `IPv6 string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.IPVersion(context.TODO(), radar.HTTPSummaryIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 HTTP requests by OS summary `client.Radar.HTTP.Summary.OS(ctx, query) (*HTTPSummaryOSResponse, error)` **get** `/radar/http/summary/os` Retrieves the distribution of HTTP requests by operating system (Windows, macOS, Android, iOS, and others). ### Parameters - `query HTTPSummaryOSParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryOSParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryOSParamsBotClassLikelyAutomated HTTPSummaryOSParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryOSParamsBotClassLikelyHuman HTTPSummaryOSParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryOSParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryOSParamsBrowserFamilyChrome HTTPSummaryOSParamsBrowserFamily = "CHROME"` - `const HTTPSummaryOSParamsBrowserFamilyEdge HTTPSummaryOSParamsBrowserFamily = "EDGE"` - `const HTTPSummaryOSParamsBrowserFamilyFirefox HTTPSummaryOSParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryOSParamsBrowserFamilySafari HTTPSummaryOSParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryOSParamsDeviceType]` Filters results by device type. - `const HTTPSummaryOSParamsDeviceTypeDesktop HTTPSummaryOSParamsDeviceType = "DESKTOP"` - `const HTTPSummaryOSParamsDeviceTypeMobile HTTPSummaryOSParamsDeviceType = "MOBILE"` - `const HTTPSummaryOSParamsDeviceTypeOther HTTPSummaryOSParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryOSParamsFormat]` Format in which results will be returned. - `const HTTPSummaryOSParamsFormatJson HTTPSummaryOSParamsFormat = "JSON"` - `const HTTPSummaryOSParamsFormatCsv HTTPSummaryOSParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryOSParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryOSParamsHTTPProtocolHTTP HTTPSummaryOSParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryOSParamsHTTPProtocolHTTPS HTTPSummaryOSParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryOSParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryOSParamsHTTPVersionHttPv1 HTTPSummaryOSParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryOSParamsHTTPVersionHttPv2 HTTPSummaryOSParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryOSParamsHTTPVersionHttPv3 HTTPSummaryOSParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryOSParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryOSParamsIPVersionIPv4 HTTPSummaryOSParamsIPVersion = "IPv4"` - `const HTTPSummaryOSParamsIPVersionIPv6 HTTPSummaryOSParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]HTTPSummaryOSParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryOSParamsTLSVersionTlSv1_0 HTTPSummaryOSParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryOSParamsTLSVersionTlSv1_1 HTTPSummaryOSParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryOSParamsTLSVersionTlSv1_2 HTTPSummaryOSParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryOSParamsTLSVersionTlSv1_3 HTTPSummaryOSParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryOSParamsTLSVersionTlSvQuic HTTPSummaryOSParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryOSResponse struct{…}` - `Meta HTTPSummaryOSResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryOSResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryOSResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryOSResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryOSResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryOSResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryOSResponseMetaNormalizationPercentage HTTPSummaryOSResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryOSResponseMetaNormalizationMin0Max HTTPSummaryOSResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryOSResponseMetaNormalizationMinMax HTTPSummaryOSResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryOSResponseMetaNormalizationRawValues HTTPSummaryOSResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryOSResponseMetaNormalizationPercentageChange HTTPSummaryOSResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryOSResponseMetaNormalizationRollingAverage HTTPSummaryOSResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryOSResponseMetaNormalizationOverlappedPercentage HTTPSummaryOSResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryOSResponseMetaNormalizationRatio HTTPSummaryOSResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryOSResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryOSResponseSummary0` - `Android string` A numeric string. - `Ios string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.OS(context.TODO(), radar.HTTPSummaryOSParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "ANDROID": "10", "IOS": "10" } }, "success": true } ``` ## Get HTTP requests by TLS version summary `client.Radar.HTTP.Summary.TLSVersion(ctx, query) (*HTTPSummaryTLSVersionResponse, error)` **get** `/radar/http/summary/tls_version` Retrieves the distribution of HTTP requests by TLS version. ### Parameters - `query HTTPSummaryTLSVersionParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryTLSVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryTLSVersionParamsBotClassLikelyAutomated HTTPSummaryTLSVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryTLSVersionParamsBotClassLikelyHuman HTTPSummaryTLSVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryTLSVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryTLSVersionParamsBrowserFamilyChrome HTTPSummaryTLSVersionParamsBrowserFamily = "CHROME"` - `const HTTPSummaryTLSVersionParamsBrowserFamilyEdge HTTPSummaryTLSVersionParamsBrowserFamily = "EDGE"` - `const HTTPSummaryTLSVersionParamsBrowserFamilyFirefox HTTPSummaryTLSVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryTLSVersionParamsBrowserFamilySafari HTTPSummaryTLSVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryTLSVersionParamsDeviceType]` Filters results by device type. - `const HTTPSummaryTLSVersionParamsDeviceTypeDesktop HTTPSummaryTLSVersionParamsDeviceType = "DESKTOP"` - `const HTTPSummaryTLSVersionParamsDeviceTypeMobile HTTPSummaryTLSVersionParamsDeviceType = "MOBILE"` - `const HTTPSummaryTLSVersionParamsDeviceTypeOther HTTPSummaryTLSVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryTLSVersionParamsFormat]` Format in which results will be returned. - `const HTTPSummaryTLSVersionParamsFormatJson HTTPSummaryTLSVersionParamsFormat = "JSON"` - `const HTTPSummaryTLSVersionParamsFormatCsv HTTPSummaryTLSVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryTLSVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryTLSVersionParamsHTTPProtocolHTTP HTTPSummaryTLSVersionParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryTLSVersionParamsHTTPProtocolHTTPS HTTPSummaryTLSVersionParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryTLSVersionParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryTLSVersionParamsHTTPVersionHttPv1 HTTPSummaryTLSVersionParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryTLSVersionParamsHTTPVersionHttPv2 HTTPSummaryTLSVersionParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryTLSVersionParamsHTTPVersionHttPv3 HTTPSummaryTLSVersionParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryTLSVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryTLSVersionParamsIPVersionIPv4 HTTPSummaryTLSVersionParamsIPVersion = "IPv4"` - `const HTTPSummaryTLSVersionParamsIPVersionIPv6 HTTPSummaryTLSVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryTLSVersionParamsOS]` Filters results by operating system. - `const HTTPSummaryTLSVersionParamsOSWindows HTTPSummaryTLSVersionParamsOS = "WINDOWS"` - `const HTTPSummaryTLSVersionParamsOSMacosx HTTPSummaryTLSVersionParamsOS = "MACOSX"` - `const HTTPSummaryTLSVersionParamsOSIos HTTPSummaryTLSVersionParamsOS = "IOS"` - `const HTTPSummaryTLSVersionParamsOSAndroid HTTPSummaryTLSVersionParamsOS = "ANDROID"` - `const HTTPSummaryTLSVersionParamsOSChromeos HTTPSummaryTLSVersionParamsOS = "CHROMEOS"` - `const HTTPSummaryTLSVersionParamsOSLinux HTTPSummaryTLSVersionParamsOS = "LINUX"` - `const HTTPSummaryTLSVersionParamsOSSmartTv HTTPSummaryTLSVersionParamsOS = "SMART_TV"` ### Returns - `type HTTPSummaryTLSVersionResponse struct{…}` - `Meta HTTPSummaryTLSVersionResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryTLSVersionResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryTLSVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryTLSVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryTLSVersionResponseMetaNormalizationPercentage HTTPSummaryTLSVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationMin0Max HTTPSummaryTLSVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationMinMax HTTPSummaryTLSVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationRawValues HTTPSummaryTLSVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationPercentageChange HTTPSummaryTLSVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationRollingAverage HTTPSummaryTLSVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationOverlappedPercentage HTTPSummaryTLSVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryTLSVersionResponseMetaNormalizationRatio HTTPSummaryTLSVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryTLSVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryTLSVersionResponseSummary0` - `TLS1_0 string` A numeric string. - `TLS1_1 string` A numeric string. - `TLS1_2 string` A numeric string. - `TLS1_3 string` A numeric string. - `TLSQuic string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.TLSVersion(context.TODO(), radar.HTTPSummaryTLSVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "TLS 1.0": "10", "TLS 1.1": "10", "TLS 1.2": "10", "TLS 1.3": "10", "TLS QUIC": "10" } }, "success": true } ``` ## Get HTTP requests by post-quantum support summary `client.Radar.HTTP.Summary.PostQuantum(ctx, query) (*HTTPSummaryPostQuantumResponse, error)` **get** `/radar/http/summary/post_quantum` Retrieves the distribution of HTTP requests by post-quantum support. ### Parameters - `query HTTPSummaryPostQuantumParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPSummaryPostQuantumParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPSummaryPostQuantumParamsBotClassLikelyAutomated HTTPSummaryPostQuantumParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryPostQuantumParamsBotClassLikelyHuman HTTPSummaryPostQuantumParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPSummaryPostQuantumParamsBrowserFamily]` Filters results by browser family. - `const HTTPSummaryPostQuantumParamsBrowserFamilyChrome HTTPSummaryPostQuantumParamsBrowserFamily = "CHROME"` - `const HTTPSummaryPostQuantumParamsBrowserFamilyEdge HTTPSummaryPostQuantumParamsBrowserFamily = "EDGE"` - `const HTTPSummaryPostQuantumParamsBrowserFamilyFirefox HTTPSummaryPostQuantumParamsBrowserFamily = "FIREFOX"` - `const HTTPSummaryPostQuantumParamsBrowserFamilySafari HTTPSummaryPostQuantumParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPSummaryPostQuantumParamsDeviceType]` Filters results by device type. - `const HTTPSummaryPostQuantumParamsDeviceTypeDesktop HTTPSummaryPostQuantumParamsDeviceType = "DESKTOP"` - `const HTTPSummaryPostQuantumParamsDeviceTypeMobile HTTPSummaryPostQuantumParamsDeviceType = "MOBILE"` - `const HTTPSummaryPostQuantumParamsDeviceTypeOther HTTPSummaryPostQuantumParamsDeviceType = "OTHER"` - `Format param.Field[HTTPSummaryPostQuantumParamsFormat]` Format in which results will be returned. - `const HTTPSummaryPostQuantumParamsFormatJson HTTPSummaryPostQuantumParamsFormat = "JSON"` - `const HTTPSummaryPostQuantumParamsFormatCsv HTTPSummaryPostQuantumParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPSummaryPostQuantumParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPSummaryPostQuantumParamsHTTPProtocolHTTP HTTPSummaryPostQuantumParamsHTTPProtocol = "HTTP"` - `const HTTPSummaryPostQuantumParamsHTTPProtocolHTTPS HTTPSummaryPostQuantumParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPSummaryPostQuantumParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPSummaryPostQuantumParamsHTTPVersionHttPv1 HTTPSummaryPostQuantumParamsHTTPVersion = "HTTPv1"` - `const HTTPSummaryPostQuantumParamsHTTPVersionHttPv2 HTTPSummaryPostQuantumParamsHTTPVersion = "HTTPv2"` - `const HTTPSummaryPostQuantumParamsHTTPVersionHttPv3 HTTPSummaryPostQuantumParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPSummaryPostQuantumParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPSummaryPostQuantumParamsIPVersionIPv4 HTTPSummaryPostQuantumParamsIPVersion = "IPv4"` - `const HTTPSummaryPostQuantumParamsIPVersionIPv6 HTTPSummaryPostQuantumParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPSummaryPostQuantumParamsOS]` Filters results by operating system. - `const HTTPSummaryPostQuantumParamsOSWindows HTTPSummaryPostQuantumParamsOS = "WINDOWS"` - `const HTTPSummaryPostQuantumParamsOSMacosx HTTPSummaryPostQuantumParamsOS = "MACOSX"` - `const HTTPSummaryPostQuantumParamsOSIos HTTPSummaryPostQuantumParamsOS = "IOS"` - `const HTTPSummaryPostQuantumParamsOSAndroid HTTPSummaryPostQuantumParamsOS = "ANDROID"` - `const HTTPSummaryPostQuantumParamsOSChromeos HTTPSummaryPostQuantumParamsOS = "CHROMEOS"` - `const HTTPSummaryPostQuantumParamsOSLinux HTTPSummaryPostQuantumParamsOS = "LINUX"` - `const HTTPSummaryPostQuantumParamsOSSmartTv HTTPSummaryPostQuantumParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPSummaryPostQuantumParamsTLSVersion]` Filters results by TLS version. - `const HTTPSummaryPostQuantumParamsTLSVersionTlSv1_0 HTTPSummaryPostQuantumParamsTLSVersion = "TLSv1_0"` - `const HTTPSummaryPostQuantumParamsTLSVersionTlSv1_1 HTTPSummaryPostQuantumParamsTLSVersion = "TLSv1_1"` - `const HTTPSummaryPostQuantumParamsTLSVersionTlSv1_2 HTTPSummaryPostQuantumParamsTLSVersion = "TLSv1_2"` - `const HTTPSummaryPostQuantumParamsTLSVersionTlSv1_3 HTTPSummaryPostQuantumParamsTLSVersion = "TLSv1_3"` - `const HTTPSummaryPostQuantumParamsTLSVersionTlSvQuic HTTPSummaryPostQuantumParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPSummaryPostQuantumResponse struct{…}` - `Meta HTTPSummaryPostQuantumResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPSummaryPostQuantumResponseMetaConfidenceInfo` - `Annotations []HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPSummaryPostQuantumResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPSummaryPostQuantumResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPSummaryPostQuantumResponseMetaNormalizationPercentage HTTPSummaryPostQuantumResponseMetaNormalization = "PERCENTAGE"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationMin0Max HTTPSummaryPostQuantumResponseMetaNormalization = "MIN0_MAX"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationMinMax HTTPSummaryPostQuantumResponseMetaNormalization = "MIN_MAX"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationRawValues HTTPSummaryPostQuantumResponseMetaNormalization = "RAW_VALUES"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationPercentageChange HTTPSummaryPostQuantumResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationRollingAverage HTTPSummaryPostQuantumResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationOverlappedPercentage HTTPSummaryPostQuantumResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPSummaryPostQuantumResponseMetaNormalizationRatio HTTPSummaryPostQuantumResponseMetaNormalization = "RATIO"` - `Units []HTTPSummaryPostQuantumResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 HTTPSummaryPostQuantumResponseSummary0` - `NotSupported string` A numeric string. - `Supported string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Summary.PostQuantum(context.TODO(), radar.HTTPSummaryPostQuantumParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Timeseries Groups ## Get HTTP requests by TLS version time series `client.Radar.HTTP.TimeseriesGroups.TLSVersion(ctx, query) (*HTTPTimeseriesGroupTLSVersionResponse, error)` **get** `/radar/http/timeseries_groups/tls_version` Retrieves the distribution of HTTP requests by TLS version over time. ### Parameters - `query HTTPTimeseriesGroupTLSVersionParams` - `AggInterval param.Field[HTTPTimeseriesGroupTLSVersionParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupTLSVersionParamsAggInterval15m HTTPTimeseriesGroupTLSVersionParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupTLSVersionParamsAggInterval1h HTTPTimeseriesGroupTLSVersionParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupTLSVersionParamsAggInterval1d HTTPTimeseriesGroupTLSVersionParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupTLSVersionParamsAggInterval1w HTTPTimeseriesGroupTLSVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupTLSVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupTLSVersionParamsBotClassLikelyAutomated HTTPTimeseriesGroupTLSVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupTLSVersionParamsBotClassLikelyHuman HTTPTimeseriesGroupTLSVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupTLSVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupTLSVersionParamsBrowserFamilyChrome HTTPTimeseriesGroupTLSVersionParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupTLSVersionParamsBrowserFamilyEdge HTTPTimeseriesGroupTLSVersionParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupTLSVersionParamsBrowserFamilyFirefox HTTPTimeseriesGroupTLSVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupTLSVersionParamsBrowserFamilySafari HTTPTimeseriesGroupTLSVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupTLSVersionParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupTLSVersionParamsDeviceTypeDesktop HTTPTimeseriesGroupTLSVersionParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupTLSVersionParamsDeviceTypeMobile HTTPTimeseriesGroupTLSVersionParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupTLSVersionParamsDeviceTypeOther HTTPTimeseriesGroupTLSVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupTLSVersionParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupTLSVersionParamsFormatJson HTTPTimeseriesGroupTLSVersionParamsFormat = "JSON"` - `const HTTPTimeseriesGroupTLSVersionParamsFormatCsv HTTPTimeseriesGroupTLSVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupTLSVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupTLSVersionParamsHTTPProtocolHTTP HTTPTimeseriesGroupTLSVersionParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupTLSVersionParamsHTTPProtocolHTTPS HTTPTimeseriesGroupTLSVersionParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupTLSVersionParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupTLSVersionParamsHTTPVersionHttPv1 HTTPTimeseriesGroupTLSVersionParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupTLSVersionParamsHTTPVersionHttPv2 HTTPTimeseriesGroupTLSVersionParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupTLSVersionParamsHTTPVersionHttPv3 HTTPTimeseriesGroupTLSVersionParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupTLSVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupTLSVersionParamsIPVersionIPv4 HTTPTimeseriesGroupTLSVersionParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupTLSVersionParamsIPVersionIPv6 HTTPTimeseriesGroupTLSVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupTLSVersionParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupTLSVersionParamsOSWindows HTTPTimeseriesGroupTLSVersionParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupTLSVersionParamsOSMacosx HTTPTimeseriesGroupTLSVersionParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupTLSVersionParamsOSIos HTTPTimeseriesGroupTLSVersionParamsOS = "IOS"` - `const HTTPTimeseriesGroupTLSVersionParamsOSAndroid HTTPTimeseriesGroupTLSVersionParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupTLSVersionParamsOSChromeos HTTPTimeseriesGroupTLSVersionParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupTLSVersionParamsOSLinux HTTPTimeseriesGroupTLSVersionParamsOS = "LINUX"` - `const HTTPTimeseriesGroupTLSVersionParamsOSSmartTv HTTPTimeseriesGroupTLSVersionParamsOS = "SMART_TV"` ### Returns - `type HTTPTimeseriesGroupTLSVersionResponse struct{…}` - `Meta HTTPTimeseriesGroupTLSVersionResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupTLSVersionResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaAggIntervalOneHour HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaAggIntervalOneDay HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupTLSVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupTLSVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupTLSVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupTLSVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationPercentage HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationMin0Max HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationMinMax HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationRawValues HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupTLSVersionResponseMetaNormalizationRatio HTTPTimeseriesGroupTLSVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupTLSVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupTLSVersionResponseSerie0` - `Timestamps []Time` - `TLS1_0 []string` - `TLS1_1 []string` - `TLS1_2 []string` - `TLS1_3 []string` - `TLSQuic []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.TLSVersion(context.TODO(), radar.HTTPTimeseriesGroupTLSVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ "2019-12-27T18:11:19.117Z" ], "TLS 1.0": [ "10" ], "TLS 1.1": [ "10" ], "TLS 1.2": [ "10" ], "TLS 1.3": [ "10" ], "TLS QUIC": [ "10" ] } }, "success": true } ``` ## Get HTTP requests by bot class time series `client.Radar.HTTP.TimeseriesGroups.BotClass(ctx, query) (*HTTPTimeseriesGroupBotClassResponse, error)` **get** `/radar/http/timeseries_groups/bot_class` Retrieves the distribution of HTTP requests classified as automated or human over time. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information. ### Parameters - `query HTTPTimeseriesGroupBotClassParams` - `AggInterval param.Field[HTTPTimeseriesGroupBotClassParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupBotClassParamsAggInterval15m HTTPTimeseriesGroupBotClassParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupBotClassParamsAggInterval1h HTTPTimeseriesGroupBotClassParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupBotClassParamsAggInterval1d HTTPTimeseriesGroupBotClassParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupBotClassParamsAggInterval1w HTTPTimeseriesGroupBotClassParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BrowserFamily param.Field[[]HTTPTimeseriesGroupBotClassParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupBotClassParamsBrowserFamilyChrome HTTPTimeseriesGroupBotClassParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupBotClassParamsBrowserFamilyEdge HTTPTimeseriesGroupBotClassParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupBotClassParamsBrowserFamilyFirefox HTTPTimeseriesGroupBotClassParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupBotClassParamsBrowserFamilySafari HTTPTimeseriesGroupBotClassParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupBotClassParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupBotClassParamsDeviceTypeDesktop HTTPTimeseriesGroupBotClassParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupBotClassParamsDeviceTypeMobile HTTPTimeseriesGroupBotClassParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupBotClassParamsDeviceTypeOther HTTPTimeseriesGroupBotClassParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupBotClassParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupBotClassParamsFormatJson HTTPTimeseriesGroupBotClassParamsFormat = "JSON"` - `const HTTPTimeseriesGroupBotClassParamsFormatCsv HTTPTimeseriesGroupBotClassParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupBotClassParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupBotClassParamsHTTPProtocolHTTP HTTPTimeseriesGroupBotClassParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupBotClassParamsHTTPProtocolHTTPS HTTPTimeseriesGroupBotClassParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupBotClassParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupBotClassParamsHTTPVersionHttPv1 HTTPTimeseriesGroupBotClassParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupBotClassParamsHTTPVersionHttPv2 HTTPTimeseriesGroupBotClassParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupBotClassParamsHTTPVersionHttPv3 HTTPTimeseriesGroupBotClassParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupBotClassParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupBotClassParamsIPVersionIPv4 HTTPTimeseriesGroupBotClassParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupBotClassParamsIPVersionIPv6 HTTPTimeseriesGroupBotClassParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupBotClassParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupBotClassParamsOSWindows HTTPTimeseriesGroupBotClassParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupBotClassParamsOSMacosx HTTPTimeseriesGroupBotClassParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupBotClassParamsOSIos HTTPTimeseriesGroupBotClassParamsOS = "IOS"` - `const HTTPTimeseriesGroupBotClassParamsOSAndroid HTTPTimeseriesGroupBotClassParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupBotClassParamsOSChromeos HTTPTimeseriesGroupBotClassParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupBotClassParamsOSLinux HTTPTimeseriesGroupBotClassParamsOS = "LINUX"` - `const HTTPTimeseriesGroupBotClassParamsOSSmartTv HTTPTimeseriesGroupBotClassParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupBotClassParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupBotClassParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupBotClassParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupBotClassParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupBotClassParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupBotClassParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupBotClassParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupBotClassParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupBotClassParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupBotClassParamsTLSVersionTlSvQuic HTTPTimeseriesGroupBotClassParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupBotClassResponse struct{…}` - `Meta HTTPTimeseriesGroupBotClassResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupBotClassResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupBotClassResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupBotClassResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupBotClassResponseMetaAggIntervalOneHour HTTPTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupBotClassResponseMetaAggIntervalOneDay HTTPTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupBotClassResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupBotClassResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupBotClassResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupBotClassResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationPercentage HTTPTimeseriesGroupBotClassResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationMin0Max HTTPTimeseriesGroupBotClassResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationMinMax HTTPTimeseriesGroupBotClassResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationRawValues HTTPTimeseriesGroupBotClassResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupBotClassResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupBotClassResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupBotClassResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupBotClassResponseMetaNormalizationRatio HTTPTimeseriesGroupBotClassResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupBotClassResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupBotClassResponseSerie0` - `Bot []string` - `Human []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.BotClass(context.TODO(), radar.HTTPTimeseriesGroupBotClassParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "bot": [ "10" ], "human": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP requests by user agent time series `client.Radar.HTTP.TimeseriesGroups.Browser(ctx, query) (*HTTPTimeseriesGroupBrowserResponse, error)` **get** `/radar/http/timeseries_groups/browser` Retrieves the distribution of HTTP requests by user agent over time. ### Parameters - `query HTTPTimeseriesGroupBrowserParams` - `AggInterval param.Field[HTTPTimeseriesGroupBrowserParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupBrowserParamsAggInterval15m HTTPTimeseriesGroupBrowserParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupBrowserParamsAggInterval1h HTTPTimeseriesGroupBrowserParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupBrowserParamsAggInterval1d HTTPTimeseriesGroupBrowserParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupBrowserParamsAggInterval1w HTTPTimeseriesGroupBrowserParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupBrowserParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupBrowserParamsBotClassLikelyAutomated HTTPTimeseriesGroupBrowserParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupBrowserParamsBotClassLikelyHuman HTTPTimeseriesGroupBrowserParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupBrowserParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupBrowserParamsBrowserFamilyChrome HTTPTimeseriesGroupBrowserParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupBrowserParamsBrowserFamilyEdge HTTPTimeseriesGroupBrowserParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupBrowserParamsBrowserFamilyFirefox HTTPTimeseriesGroupBrowserParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupBrowserParamsBrowserFamilySafari HTTPTimeseriesGroupBrowserParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupBrowserParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupBrowserParamsDeviceTypeDesktop HTTPTimeseriesGroupBrowserParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupBrowserParamsDeviceTypeMobile HTTPTimeseriesGroupBrowserParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupBrowserParamsDeviceTypeOther HTTPTimeseriesGroupBrowserParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupBrowserParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupBrowserParamsFormatJson HTTPTimeseriesGroupBrowserParamsFormat = "JSON"` - `const HTTPTimeseriesGroupBrowserParamsFormatCsv HTTPTimeseriesGroupBrowserParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupBrowserParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupBrowserParamsHTTPProtocolHTTP HTTPTimeseriesGroupBrowserParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupBrowserParamsHTTPProtocolHTTPS HTTPTimeseriesGroupBrowserParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupBrowserParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupBrowserParamsHTTPVersionHttPv1 HTTPTimeseriesGroupBrowserParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupBrowserParamsHTTPVersionHttPv2 HTTPTimeseriesGroupBrowserParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupBrowserParamsHTTPVersionHttPv3 HTTPTimeseriesGroupBrowserParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupBrowserParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupBrowserParamsIPVersionIPv4 HTTPTimeseriesGroupBrowserParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupBrowserParamsIPVersionIPv6 HTTPTimeseriesGroupBrowserParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupBrowserParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupBrowserParamsOSWindows HTTPTimeseriesGroupBrowserParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupBrowserParamsOSMacosx HTTPTimeseriesGroupBrowserParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupBrowserParamsOSIos HTTPTimeseriesGroupBrowserParamsOS = "IOS"` - `const HTTPTimeseriesGroupBrowserParamsOSAndroid HTTPTimeseriesGroupBrowserParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupBrowserParamsOSChromeos HTTPTimeseriesGroupBrowserParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupBrowserParamsOSLinux HTTPTimeseriesGroupBrowserParamsOS = "LINUX"` - `const HTTPTimeseriesGroupBrowserParamsOSSmartTv HTTPTimeseriesGroupBrowserParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupBrowserParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupBrowserParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupBrowserParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupBrowserParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupBrowserParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupBrowserParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupBrowserParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupBrowserParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupBrowserParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupBrowserParamsTLSVersionTlSvQuic HTTPTimeseriesGroupBrowserParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupBrowserResponse struct{…}` - `Meta HTTPTimeseriesGroupBrowserResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupBrowserResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupBrowserResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupBrowserResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupBrowserResponseMetaAggIntervalOneHour HTTPTimeseriesGroupBrowserResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupBrowserResponseMetaAggIntervalOneDay HTTPTimeseriesGroupBrowserResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupBrowserResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupBrowserResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupBrowserResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupBrowserResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupBrowserResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupBrowserResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupBrowserResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationPercentage HTTPTimeseriesGroupBrowserResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationMin0Max HTTPTimeseriesGroupBrowserResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationMinMax HTTPTimeseriesGroupBrowserResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationRawValues HTTPTimeseriesGroupBrowserResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupBrowserResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupBrowserResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupBrowserResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupBrowserResponseMetaNormalizationRatio HTTPTimeseriesGroupBrowserResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupBrowserResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupBrowserResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.Browser(context.TODO(), radar.HTTPTimeseriesGroupBrowserParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 HTTP requests by user agent family time series `client.Radar.HTTP.TimeseriesGroups.BrowserFamily(ctx, query) (*HTTPTimeseriesGroupBrowserFamilyResponse, error)` **get** `/radar/http/timeseries_groups/browser_family` Retrieves the distribution of HTTP requests by user agent family over time. ### Parameters - `query HTTPTimeseriesGroupBrowserFamilyParams` - `AggInterval param.Field[HTTPTimeseriesGroupBrowserFamilyParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupBrowserFamilyParamsAggInterval15m HTTPTimeseriesGroupBrowserFamilyParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupBrowserFamilyParamsAggInterval1h HTTPTimeseriesGroupBrowserFamilyParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupBrowserFamilyParamsAggInterval1d HTTPTimeseriesGroupBrowserFamilyParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupBrowserFamilyParamsAggInterval1w HTTPTimeseriesGroupBrowserFamilyParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupBrowserFamilyParamsBotClassLikelyAutomated HTTPTimeseriesGroupBrowserFamilyParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupBrowserFamilyParamsBotClassLikelyHuman HTTPTimeseriesGroupBrowserFamilyParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupBrowserFamilyParamsDeviceTypeDesktop HTTPTimeseriesGroupBrowserFamilyParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupBrowserFamilyParamsDeviceTypeMobile HTTPTimeseriesGroupBrowserFamilyParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupBrowserFamilyParamsDeviceTypeOther HTTPTimeseriesGroupBrowserFamilyParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupBrowserFamilyParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupBrowserFamilyParamsFormatJson HTTPTimeseriesGroupBrowserFamilyParamsFormat = "JSON"` - `const HTTPTimeseriesGroupBrowserFamilyParamsFormatCsv HTTPTimeseriesGroupBrowserFamilyParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupBrowserFamilyParamsHTTPProtocolHTTP HTTPTimeseriesGroupBrowserFamilyParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupBrowserFamilyParamsHTTPProtocolHTTPS HTTPTimeseriesGroupBrowserFamilyParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersionHttPv1 HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersionHttPv2 HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersionHttPv3 HTTPTimeseriesGroupBrowserFamilyParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupBrowserFamilyParamsIPVersionIPv4 HTTPTimeseriesGroupBrowserFamilyParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupBrowserFamilyParamsIPVersionIPv6 HTTPTimeseriesGroupBrowserFamilyParamsIPVersion = "IPv6"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupBrowserFamilyParamsOSWindows HTTPTimeseriesGroupBrowserFamilyParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSMacosx HTTPTimeseriesGroupBrowserFamilyParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSIos HTTPTimeseriesGroupBrowserFamilyParamsOS = "IOS"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSAndroid HTTPTimeseriesGroupBrowserFamilyParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSChromeos HTTPTimeseriesGroupBrowserFamilyParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSLinux HTTPTimeseriesGroupBrowserFamilyParamsOS = "LINUX"` - `const HTTPTimeseriesGroupBrowserFamilyParamsOSSmartTv HTTPTimeseriesGroupBrowserFamilyParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupBrowserFamilyParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupBrowserFamilyParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupBrowserFamilyParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupBrowserFamilyParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupBrowserFamilyParamsTLSVersionTlSvQuic HTTPTimeseriesGroupBrowserFamilyParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupBrowserFamilyResponse struct{…}` - `Meta HTTPTimeseriesGroupBrowserFamilyResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaAggIntervalOneHour HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaAggIntervalOneDay HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupBrowserFamilyResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupBrowserFamilyResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationPercentage HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationMin0Max HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationMinMax HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationRawValues HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalizationRatio HTTPTimeseriesGroupBrowserFamilyResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupBrowserFamilyResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupBrowserFamilyResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.BrowserFamily(context.TODO(), radar.HTTPTimeseriesGroupBrowserFamilyParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 HTTP requests by device type time series `client.Radar.HTTP.TimeseriesGroups.DeviceType(ctx, query) (*HTTPTimeseriesGroupDeviceTypeResponse, error)` **get** `/radar/http/timeseries_groups/device_type` Retrieves the distribution of HTTP requests by device type over time. ### Parameters - `query HTTPTimeseriesGroupDeviceTypeParams` - `AggInterval param.Field[HTTPTimeseriesGroupDeviceTypeParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupDeviceTypeParamsAggInterval15m HTTPTimeseriesGroupDeviceTypeParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupDeviceTypeParamsAggInterval1h HTTPTimeseriesGroupDeviceTypeParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupDeviceTypeParamsAggInterval1d HTTPTimeseriesGroupDeviceTypeParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupDeviceTypeParamsAggInterval1w HTTPTimeseriesGroupDeviceTypeParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupDeviceTypeParamsBotClassLikelyAutomated HTTPTimeseriesGroupDeviceTypeParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupDeviceTypeParamsBotClassLikelyHuman HTTPTimeseriesGroupDeviceTypeParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupDeviceTypeParamsBrowserFamilyChrome HTTPTimeseriesGroupDeviceTypeParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupDeviceTypeParamsBrowserFamilyEdge HTTPTimeseriesGroupDeviceTypeParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupDeviceTypeParamsBrowserFamilyFirefox HTTPTimeseriesGroupDeviceTypeParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupDeviceTypeParamsBrowserFamilySafari HTTPTimeseriesGroupDeviceTypeParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[HTTPTimeseriesGroupDeviceTypeParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupDeviceTypeParamsFormatJson HTTPTimeseriesGroupDeviceTypeParamsFormat = "JSON"` - `const HTTPTimeseriesGroupDeviceTypeParamsFormatCsv HTTPTimeseriesGroupDeviceTypeParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupDeviceTypeParamsHTTPProtocolHTTP HTTPTimeseriesGroupDeviceTypeParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupDeviceTypeParamsHTTPProtocolHTTPS HTTPTimeseriesGroupDeviceTypeParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupDeviceTypeParamsHTTPVersionHttPv1 HTTPTimeseriesGroupDeviceTypeParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupDeviceTypeParamsHTTPVersionHttPv2 HTTPTimeseriesGroupDeviceTypeParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupDeviceTypeParamsHTTPVersionHttPv3 HTTPTimeseriesGroupDeviceTypeParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupDeviceTypeParamsIPVersionIPv4 HTTPTimeseriesGroupDeviceTypeParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupDeviceTypeParamsIPVersionIPv6 HTTPTimeseriesGroupDeviceTypeParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupDeviceTypeParamsOSWindows HTTPTimeseriesGroupDeviceTypeParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSMacosx HTTPTimeseriesGroupDeviceTypeParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSIos HTTPTimeseriesGroupDeviceTypeParamsOS = "IOS"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSAndroid HTTPTimeseriesGroupDeviceTypeParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSChromeos HTTPTimeseriesGroupDeviceTypeParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSLinux HTTPTimeseriesGroupDeviceTypeParamsOS = "LINUX"` - `const HTTPTimeseriesGroupDeviceTypeParamsOSSmartTv HTTPTimeseriesGroupDeviceTypeParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupDeviceTypeParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupDeviceTypeParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupDeviceTypeParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupDeviceTypeParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupDeviceTypeParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupDeviceTypeParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupDeviceTypeParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupDeviceTypeParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupDeviceTypeParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupDeviceTypeParamsTLSVersionTlSvQuic HTTPTimeseriesGroupDeviceTypeParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupDeviceTypeResponse struct{…}` - `Meta HTTPTimeseriesGroupDeviceTypeResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupDeviceTypeResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaAggIntervalOneHour HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaAggIntervalOneDay HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupDeviceTypeResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupDeviceTypeResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupDeviceTypeResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationPercentage HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationMin0Max HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationMinMax HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationRawValues HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupDeviceTypeResponseMetaNormalizationRatio HTTPTimeseriesGroupDeviceTypeResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupDeviceTypeResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupDeviceTypeResponseSerie0` - `Desktop []string` - `Mobile []string` - `Other []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.DeviceType(context.TODO(), radar.HTTPTimeseriesGroupDeviceTypeParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "desktop": [ "10" ], "mobile": [ "10" ], "other": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP requests by HTTP/HTTPS time series `client.Radar.HTTP.TimeseriesGroups.HTTPProtocol(ctx, query) (*HTTPTimeseriesGroupHTTPProtocolResponse, error)` **get** `/radar/http/timeseries_groups/http_protocol` Retrieves the distribution of HTTP requests by HTTP protocol (HTTP vs. HTTPS) over time. ### Parameters - `query HTTPTimeseriesGroupHTTPProtocolParams` - `AggInterval param.Field[HTTPTimeseriesGroupHTTPProtocolParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupHTTPProtocolParamsAggInterval15m HTTPTimeseriesGroupHTTPProtocolParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupHTTPProtocolParamsAggInterval1h HTTPTimeseriesGroupHTTPProtocolParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupHTTPProtocolParamsAggInterval1d HTTPTimeseriesGroupHTTPProtocolParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupHTTPProtocolParamsAggInterval1w HTTPTimeseriesGroupHTTPProtocolParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupHTTPProtocolParamsBotClassLikelyAutomated HTTPTimeseriesGroupHTTPProtocolParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupHTTPProtocolParamsBotClassLikelyHuman HTTPTimeseriesGroupHTTPProtocolParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamilyChrome HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamilyEdge HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamilyFirefox HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamilySafari HTTPTimeseriesGroupHTTPProtocolParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupHTTPProtocolParamsDeviceTypeDesktop HTTPTimeseriesGroupHTTPProtocolParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupHTTPProtocolParamsDeviceTypeMobile HTTPTimeseriesGroupHTTPProtocolParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupHTTPProtocolParamsDeviceTypeOther HTTPTimeseriesGroupHTTPProtocolParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupHTTPProtocolParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupHTTPProtocolParamsFormatJson HTTPTimeseriesGroupHTTPProtocolParamsFormat = "JSON"` - `const HTTPTimeseriesGroupHTTPProtocolParamsFormatCsv HTTPTimeseriesGroupHTTPProtocolParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPVersion param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersionHttPv1 HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersionHttPv2 HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersionHttPv3 HTTPTimeseriesGroupHTTPProtocolParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupHTTPProtocolParamsIPVersionIPv4 HTTPTimeseriesGroupHTTPProtocolParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupHTTPProtocolParamsIPVersionIPv6 HTTPTimeseriesGroupHTTPProtocolParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupHTTPProtocolParamsOSWindows HTTPTimeseriesGroupHTTPProtocolParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSMacosx HTTPTimeseriesGroupHTTPProtocolParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSIos HTTPTimeseriesGroupHTTPProtocolParamsOS = "IOS"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSAndroid HTTPTimeseriesGroupHTTPProtocolParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSChromeos HTTPTimeseriesGroupHTTPProtocolParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSLinux HTTPTimeseriesGroupHTTPProtocolParamsOS = "LINUX"` - `const HTTPTimeseriesGroupHTTPProtocolParamsOSSmartTv HTTPTimeseriesGroupHTTPProtocolParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupHTTPProtocolParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupHTTPProtocolParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupHTTPProtocolParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupHTTPProtocolParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupHTTPProtocolParamsTLSVersionTlSvQuic HTTPTimeseriesGroupHTTPProtocolParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupHTTPProtocolResponse struct{…}` - `Meta HTTPTimeseriesGroupHTTPProtocolResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaAggIntervalOneHour HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaAggIntervalOneDay HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupHTTPProtocolResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupHTTPProtocolResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupHTTPProtocolResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationPercentage HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationMin0Max HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationMinMax HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationRawValues HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalizationRatio HTTPTimeseriesGroupHTTPProtocolResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupHTTPProtocolResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupHTTPProtocolResponseSerie0` - `HTTP []string` - `HTTPS []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.HTTPProtocol(context.TODO(), radar.HTTPTimeseriesGroupHTTPProtocolParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "http": [ "10" ], "https": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP requests by HTTP version time series `client.Radar.HTTP.TimeseriesGroups.HTTPVersion(ctx, query) (*HTTPTimeseriesGroupHTTPVersionResponse, error)` **get** `/radar/http/timeseries_groups/http_version` Retrieves the distribution of HTTP requests by HTTP version over time. ### Parameters - `query HTTPTimeseriesGroupHTTPVersionParams` - `AggInterval param.Field[HTTPTimeseriesGroupHTTPVersionParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupHTTPVersionParamsAggInterval15m HTTPTimeseriesGroupHTTPVersionParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupHTTPVersionParamsAggInterval1h HTTPTimeseriesGroupHTTPVersionParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupHTTPVersionParamsAggInterval1d HTTPTimeseriesGroupHTTPVersionParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupHTTPVersionParamsAggInterval1w HTTPTimeseriesGroupHTTPVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupHTTPVersionParamsBotClassLikelyAutomated HTTPTimeseriesGroupHTTPVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupHTTPVersionParamsBotClassLikelyHuman HTTPTimeseriesGroupHTTPVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupHTTPVersionParamsBrowserFamilyChrome HTTPTimeseriesGroupHTTPVersionParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupHTTPVersionParamsBrowserFamilyEdge HTTPTimeseriesGroupHTTPVersionParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupHTTPVersionParamsBrowserFamilyFirefox HTTPTimeseriesGroupHTTPVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupHTTPVersionParamsBrowserFamilySafari HTTPTimeseriesGroupHTTPVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupHTTPVersionParamsDeviceTypeDesktop HTTPTimeseriesGroupHTTPVersionParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupHTTPVersionParamsDeviceTypeMobile HTTPTimeseriesGroupHTTPVersionParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupHTTPVersionParamsDeviceTypeOther HTTPTimeseriesGroupHTTPVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupHTTPVersionParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupHTTPVersionParamsFormatJson HTTPTimeseriesGroupHTTPVersionParamsFormat = "JSON"` - `const HTTPTimeseriesGroupHTTPVersionParamsFormatCsv HTTPTimeseriesGroupHTTPVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupHTTPVersionParamsHTTPProtocolHTTP HTTPTimeseriesGroupHTTPVersionParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupHTTPVersionParamsHTTPProtocolHTTPS HTTPTimeseriesGroupHTTPVersionParamsHTTPProtocol = "HTTPS"` - `IPVersion param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupHTTPVersionParamsIPVersionIPv4 HTTPTimeseriesGroupHTTPVersionParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupHTTPVersionParamsIPVersionIPv6 HTTPTimeseriesGroupHTTPVersionParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupHTTPVersionParamsOSWindows HTTPTimeseriesGroupHTTPVersionParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSMacosx HTTPTimeseriesGroupHTTPVersionParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSIos HTTPTimeseriesGroupHTTPVersionParamsOS = "IOS"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSAndroid HTTPTimeseriesGroupHTTPVersionParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSChromeos HTTPTimeseriesGroupHTTPVersionParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSLinux HTTPTimeseriesGroupHTTPVersionParamsOS = "LINUX"` - `const HTTPTimeseriesGroupHTTPVersionParamsOSSmartTv HTTPTimeseriesGroupHTTPVersionParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupHTTPVersionParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupHTTPVersionParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupHTTPVersionParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupHTTPVersionParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupHTTPVersionParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupHTTPVersionParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupHTTPVersionParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupHTTPVersionParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupHTTPVersionParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupHTTPVersionParamsTLSVersionTlSvQuic HTTPTimeseriesGroupHTTPVersionParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupHTTPVersionResponse struct{…}` - `Meta HTTPTimeseriesGroupHTTPVersionResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupHTTPVersionResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaAggIntervalOneHour HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaAggIntervalOneDay HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupHTTPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupHTTPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupHTTPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationPercentage HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationMin0Max HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationMinMax HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationRawValues HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupHTTPVersionResponseMetaNormalizationRatio HTTPTimeseriesGroupHTTPVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupHTTPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupHTTPVersionResponseSerie0` - `HTTP1X []string` - `HTTP2 []string` - `HTTP3 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.HTTPVersion(context.TODO(), radar.HTTPTimeseriesGroupHTTPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "HTTP/1.x": [ "10" ], "HTTP/2": [ "10" ], "HTTP/3": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP requests by IP version time series `client.Radar.HTTP.TimeseriesGroups.IPVersion(ctx, query) (*HTTPTimeseriesGroupIPVersionResponse, error)` **get** `/radar/http/timeseries_groups/ip_version` Retrieves the distribution of HTTP requests by IP version over time. ### Parameters - `query HTTPTimeseriesGroupIPVersionParams` - `AggInterval param.Field[HTTPTimeseriesGroupIPVersionParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupIPVersionParamsAggInterval15m HTTPTimeseriesGroupIPVersionParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupIPVersionParamsAggInterval1h HTTPTimeseriesGroupIPVersionParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupIPVersionParamsAggInterval1d HTTPTimeseriesGroupIPVersionParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupIPVersionParamsAggInterval1w HTTPTimeseriesGroupIPVersionParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupIPVersionParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupIPVersionParamsBotClassLikelyAutomated HTTPTimeseriesGroupIPVersionParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupIPVersionParamsBotClassLikelyHuman HTTPTimeseriesGroupIPVersionParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupIPVersionParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupIPVersionParamsBrowserFamilyChrome HTTPTimeseriesGroupIPVersionParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupIPVersionParamsBrowserFamilyEdge HTTPTimeseriesGroupIPVersionParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupIPVersionParamsBrowserFamilyFirefox HTTPTimeseriesGroupIPVersionParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupIPVersionParamsBrowserFamilySafari HTTPTimeseriesGroupIPVersionParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupIPVersionParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupIPVersionParamsDeviceTypeDesktop HTTPTimeseriesGroupIPVersionParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupIPVersionParamsDeviceTypeMobile HTTPTimeseriesGroupIPVersionParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupIPVersionParamsDeviceTypeOther HTTPTimeseriesGroupIPVersionParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupIPVersionParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupIPVersionParamsFormatJson HTTPTimeseriesGroupIPVersionParamsFormat = "JSON"` - `const HTTPTimeseriesGroupIPVersionParamsFormatCsv HTTPTimeseriesGroupIPVersionParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupIPVersionParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupIPVersionParamsHTTPProtocolHTTP HTTPTimeseriesGroupIPVersionParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupIPVersionParamsHTTPProtocolHTTPS HTTPTimeseriesGroupIPVersionParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupIPVersionParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupIPVersionParamsHTTPVersionHttPv1 HTTPTimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupIPVersionParamsHTTPVersionHttPv2 HTTPTimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupIPVersionParamsHTTPVersionHttPv3 HTTPTimeseriesGroupIPVersionParamsHTTPVersion = "HTTPv3"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupIPVersionParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupIPVersionParamsOSWindows HTTPTimeseriesGroupIPVersionParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupIPVersionParamsOSMacosx HTTPTimeseriesGroupIPVersionParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupIPVersionParamsOSIos HTTPTimeseriesGroupIPVersionParamsOS = "IOS"` - `const HTTPTimeseriesGroupIPVersionParamsOSAndroid HTTPTimeseriesGroupIPVersionParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupIPVersionParamsOSChromeos HTTPTimeseriesGroupIPVersionParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupIPVersionParamsOSLinux HTTPTimeseriesGroupIPVersionParamsOS = "LINUX"` - `const HTTPTimeseriesGroupIPVersionParamsOSSmartTv HTTPTimeseriesGroupIPVersionParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupIPVersionParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupIPVersionParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupIPVersionParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupIPVersionParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupIPVersionParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupIPVersionParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupIPVersionParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupIPVersionParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupIPVersionParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupIPVersionParamsTLSVersionTlSvQuic HTTPTimeseriesGroupIPVersionParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupIPVersionResponse struct{…}` - `Meta HTTPTimeseriesGroupIPVersionResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupIPVersionResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupIPVersionResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupIPVersionResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupIPVersionResponseMetaAggIntervalOneHour HTTPTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupIPVersionResponseMetaAggIntervalOneDay HTTPTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupIPVersionResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupIPVersionResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupIPVersionResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupIPVersionResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupIPVersionResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupIPVersionResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationPercentage HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationMin0Max HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationMinMax HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationRawValues HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupIPVersionResponseMetaNormalizationRatio HTTPTimeseriesGroupIPVersionResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupIPVersionResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupIPVersionResponseSerie0` - `IPv4 []string` - `IPv6 []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.IPVersion(context.TODO(), radar.HTTPTimeseriesGroupIPVersionParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP requests by OS time series `client.Radar.HTTP.TimeseriesGroups.OS(ctx, query) (*HTTPTimeseriesGroupOSResponse, error)` **get** `/radar/http/timeseries_groups/os` Retrieves the distribution of HTTP requests by operating system over time. ### Parameters - `query HTTPTimeseriesGroupOSParams` - `AggInterval param.Field[HTTPTimeseriesGroupOSParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupOSParamsAggInterval15m HTTPTimeseriesGroupOSParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupOSParamsAggInterval1h HTTPTimeseriesGroupOSParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupOSParamsAggInterval1d HTTPTimeseriesGroupOSParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupOSParamsAggInterval1w HTTPTimeseriesGroupOSParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupOSParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupOSParamsBotClassLikelyAutomated HTTPTimeseriesGroupOSParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupOSParamsBotClassLikelyHuman HTTPTimeseriesGroupOSParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupOSParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupOSParamsBrowserFamilyChrome HTTPTimeseriesGroupOSParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupOSParamsBrowserFamilyEdge HTTPTimeseriesGroupOSParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupOSParamsBrowserFamilyFirefox HTTPTimeseriesGroupOSParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupOSParamsBrowserFamilySafari HTTPTimeseriesGroupOSParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupOSParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupOSParamsDeviceTypeDesktop HTTPTimeseriesGroupOSParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupOSParamsDeviceTypeMobile HTTPTimeseriesGroupOSParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupOSParamsDeviceTypeOther HTTPTimeseriesGroupOSParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupOSParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupOSParamsFormatJson HTTPTimeseriesGroupOSParamsFormat = "JSON"` - `const HTTPTimeseriesGroupOSParamsFormatCsv HTTPTimeseriesGroupOSParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupOSParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupOSParamsHTTPProtocolHTTP HTTPTimeseriesGroupOSParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupOSParamsHTTPProtocolHTTPS HTTPTimeseriesGroupOSParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupOSParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupOSParamsHTTPVersionHttPv1 HTTPTimeseriesGroupOSParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupOSParamsHTTPVersionHttPv2 HTTPTimeseriesGroupOSParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupOSParamsHTTPVersionHttPv3 HTTPTimeseriesGroupOSParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupOSParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupOSParamsIPVersionIPv4 HTTPTimeseriesGroupOSParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupOSParamsIPVersionIPv6 HTTPTimeseriesGroupOSParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `TLSVersion param.Field[[]HTTPTimeseriesGroupOSParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupOSParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupOSParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupOSParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupOSParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupOSParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupOSParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupOSParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupOSParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupOSParamsTLSVersionTlSvQuic HTTPTimeseriesGroupOSParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupOSResponse struct{…}` - `Meta HTTPTimeseriesGroupOSResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupOSResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupOSResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupOSResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupOSResponseMetaAggIntervalOneHour HTTPTimeseriesGroupOSResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupOSResponseMetaAggIntervalOneDay HTTPTimeseriesGroupOSResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupOSResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupOSResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupOSResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupOSResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupOSResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupOSResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupOSResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupOSResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupOSResponseMetaNormalizationPercentage HTTPTimeseriesGroupOSResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationMin0Max HTTPTimeseriesGroupOSResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationMinMax HTTPTimeseriesGroupOSResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationRawValues HTTPTimeseriesGroupOSResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupOSResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupOSResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupOSResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupOSResponseMetaNormalizationRatio HTTPTimeseriesGroupOSResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupOSResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupOSResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.OS(context.TODO(), radar.HTTPTimeseriesGroupOSParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 HTTP requests by post-quantum support time series `client.Radar.HTTP.TimeseriesGroups.PostQuantum(ctx, query) (*HTTPTimeseriesGroupPostQuantumResponse, error)` **get** `/radar/http/timeseries_groups/post_quantum` Retrieves the distribution of HTTP requests by post-quantum support over time. ### Parameters - `query HTTPTimeseriesGroupPostQuantumParams` - `AggInterval param.Field[HTTPTimeseriesGroupPostQuantumParamsAggInterval]` 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/). - `const HTTPTimeseriesGroupPostQuantumParamsAggInterval15m HTTPTimeseriesGroupPostQuantumParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupPostQuantumParamsAggInterval1h HTTPTimeseriesGroupPostQuantumParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupPostQuantumParamsAggInterval1d HTTPTimeseriesGroupPostQuantumParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupPostQuantumParamsAggInterval1w HTTPTimeseriesGroupPostQuantumParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTimeseriesGroupPostQuantumParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupPostQuantumParamsBotClassLikelyAutomated HTTPTimeseriesGroupPostQuantumParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupPostQuantumParamsBotClassLikelyHuman HTTPTimeseriesGroupPostQuantumParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTimeseriesGroupPostQuantumParamsBrowserFamily]` Filters results by browser family. - `const HTTPTimeseriesGroupPostQuantumParamsBrowserFamilyChrome HTTPTimeseriesGroupPostQuantumParamsBrowserFamily = "CHROME"` - `const HTTPTimeseriesGroupPostQuantumParamsBrowserFamilyEdge HTTPTimeseriesGroupPostQuantumParamsBrowserFamily = "EDGE"` - `const HTTPTimeseriesGroupPostQuantumParamsBrowserFamilyFirefox HTTPTimeseriesGroupPostQuantumParamsBrowserFamily = "FIREFOX"` - `const HTTPTimeseriesGroupPostQuantumParamsBrowserFamilySafari HTTPTimeseriesGroupPostQuantumParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTimeseriesGroupPostQuantumParamsDeviceType]` Filters results by device type. - `const HTTPTimeseriesGroupPostQuantumParamsDeviceTypeDesktop HTTPTimeseriesGroupPostQuantumParamsDeviceType = "DESKTOP"` - `const HTTPTimeseriesGroupPostQuantumParamsDeviceTypeMobile HTTPTimeseriesGroupPostQuantumParamsDeviceType = "MOBILE"` - `const HTTPTimeseriesGroupPostQuantumParamsDeviceTypeOther HTTPTimeseriesGroupPostQuantumParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTimeseriesGroupPostQuantumParamsFormat]` Format in which results will be returned. - `const HTTPTimeseriesGroupPostQuantumParamsFormatJson HTTPTimeseriesGroupPostQuantumParamsFormat = "JSON"` - `const HTTPTimeseriesGroupPostQuantumParamsFormatCsv HTTPTimeseriesGroupPostQuantumParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTimeseriesGroupPostQuantumParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTimeseriesGroupPostQuantumParamsHTTPProtocolHTTP HTTPTimeseriesGroupPostQuantumParamsHTTPProtocol = "HTTP"` - `const HTTPTimeseriesGroupPostQuantumParamsHTTPProtocolHTTPS HTTPTimeseriesGroupPostQuantumParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTimeseriesGroupPostQuantumParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTimeseriesGroupPostQuantumParamsHTTPVersionHttPv1 HTTPTimeseriesGroupPostQuantumParamsHTTPVersion = "HTTPv1"` - `const HTTPTimeseriesGroupPostQuantumParamsHTTPVersionHttPv2 HTTPTimeseriesGroupPostQuantumParamsHTTPVersion = "HTTPv2"` - `const HTTPTimeseriesGroupPostQuantumParamsHTTPVersionHttPv3 HTTPTimeseriesGroupPostQuantumParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTimeseriesGroupPostQuantumParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTimeseriesGroupPostQuantumParamsIPVersionIPv4 HTTPTimeseriesGroupPostQuantumParamsIPVersion = "IPv4"` - `const HTTPTimeseriesGroupPostQuantumParamsIPVersionIPv6 HTTPTimeseriesGroupPostQuantumParamsIPVersion = "IPv6"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTimeseriesGroupPostQuantumParamsOS]` Filters results by operating system. - `const HTTPTimeseriesGroupPostQuantumParamsOSWindows HTTPTimeseriesGroupPostQuantumParamsOS = "WINDOWS"` - `const HTTPTimeseriesGroupPostQuantumParamsOSMacosx HTTPTimeseriesGroupPostQuantumParamsOS = "MACOSX"` - `const HTTPTimeseriesGroupPostQuantumParamsOSIos HTTPTimeseriesGroupPostQuantumParamsOS = "IOS"` - `const HTTPTimeseriesGroupPostQuantumParamsOSAndroid HTTPTimeseriesGroupPostQuantumParamsOS = "ANDROID"` - `const HTTPTimeseriesGroupPostQuantumParamsOSChromeos HTTPTimeseriesGroupPostQuantumParamsOS = "CHROMEOS"` - `const HTTPTimeseriesGroupPostQuantumParamsOSLinux HTTPTimeseriesGroupPostQuantumParamsOS = "LINUX"` - `const HTTPTimeseriesGroupPostQuantumParamsOSSmartTv HTTPTimeseriesGroupPostQuantumParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTimeseriesGroupPostQuantumParamsTLSVersion]` Filters results by TLS version. - `const HTTPTimeseriesGroupPostQuantumParamsTLSVersionTlSv1_0 HTTPTimeseriesGroupPostQuantumParamsTLSVersion = "TLSv1_0"` - `const HTTPTimeseriesGroupPostQuantumParamsTLSVersionTlSv1_1 HTTPTimeseriesGroupPostQuantumParamsTLSVersion = "TLSv1_1"` - `const HTTPTimeseriesGroupPostQuantumParamsTLSVersionTlSv1_2 HTTPTimeseriesGroupPostQuantumParamsTLSVersion = "TLSv1_2"` - `const HTTPTimeseriesGroupPostQuantumParamsTLSVersionTlSv1_3 HTTPTimeseriesGroupPostQuantumParamsTLSVersion = "TLSv1_3"` - `const HTTPTimeseriesGroupPostQuantumParamsTLSVersionTlSvQuic HTTPTimeseriesGroupPostQuantumParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTimeseriesGroupPostQuantumResponse struct{…}` - `Meta HTTPTimeseriesGroupPostQuantumResponseMeta` Metadata for the results. - `AggInterval HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval` 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/). - `const HTTPTimeseriesGroupPostQuantumResponseMetaAggIntervalFifteenMinutes HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaAggIntervalOneHour HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval = "ONE_HOUR"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaAggIntervalOneDay HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval = "ONE_DAY"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaAggIntervalOneWeek HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval = "ONE_WEEK"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaAggIntervalOneMonth HTTPTimeseriesGroupPostQuantumResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfo` - `Annotations []HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTimeseriesGroupPostQuantumResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTimeseriesGroupPostQuantumResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTimeseriesGroupPostQuantumResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationPercentage HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationMin0Max HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationMinMax HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "MIN_MAX"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationRawValues HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationPercentageChange HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationRollingAverage HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationOverlappedPercentage HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTimeseriesGroupPostQuantumResponseMetaNormalizationRatio HTTPTimeseriesGroupPostQuantumResponseMetaNormalization = "RATIO"` - `Units []HTTPTimeseriesGroupPostQuantumResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 HTTPTimeseriesGroupPostQuantumResponseSerie0` - `NotSupported []string` - `Supported []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.TimeseriesGroups.PostQuantum(context.TODO(), radar.HTTPTimeseriesGroupPostQuantumParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` # Top ## Get top user agents by HTTP requests `client.Radar.HTTP.Top.Browser(ctx, query) (*HTTPTopBrowserResponse, error)` **get** `/radar/http/top/browser` Retrieves the top user agents by HTTP requests. ### Parameters - `query HTTPTopBrowserParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTopBrowserParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTopBrowserParamsBotClassLikelyAutomated HTTPTopBrowserParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTopBrowserParamsBotClassLikelyHuman HTTPTopBrowserParamsBotClass = "LIKELY_HUMAN"` - `BrowserFamily param.Field[[]HTTPTopBrowserParamsBrowserFamily]` Filters results by browser family. - `const HTTPTopBrowserParamsBrowserFamilyChrome HTTPTopBrowserParamsBrowserFamily = "CHROME"` - `const HTTPTopBrowserParamsBrowserFamilyEdge HTTPTopBrowserParamsBrowserFamily = "EDGE"` - `const HTTPTopBrowserParamsBrowserFamilyFirefox HTTPTopBrowserParamsBrowserFamily = "FIREFOX"` - `const HTTPTopBrowserParamsBrowserFamilySafari HTTPTopBrowserParamsBrowserFamily = "SAFARI"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTopBrowserParamsDeviceType]` Filters results by device type. - `const HTTPTopBrowserParamsDeviceTypeDesktop HTTPTopBrowserParamsDeviceType = "DESKTOP"` - `const HTTPTopBrowserParamsDeviceTypeMobile HTTPTopBrowserParamsDeviceType = "MOBILE"` - `const HTTPTopBrowserParamsDeviceTypeOther HTTPTopBrowserParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTopBrowserParamsFormat]` Format in which results will be returned. - `const HTTPTopBrowserParamsFormatJson HTTPTopBrowserParamsFormat = "JSON"` - `const HTTPTopBrowserParamsFormatCsv HTTPTopBrowserParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTopBrowserParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTopBrowserParamsHTTPProtocolHTTP HTTPTopBrowserParamsHTTPProtocol = "HTTP"` - `const HTTPTopBrowserParamsHTTPProtocolHTTPS HTTPTopBrowserParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTopBrowserParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTopBrowserParamsHTTPVersionHttPv1 HTTPTopBrowserParamsHTTPVersion = "HTTPv1"` - `const HTTPTopBrowserParamsHTTPVersionHttPv2 HTTPTopBrowserParamsHTTPVersion = "HTTPv2"` - `const HTTPTopBrowserParamsHTTPVersionHttPv3 HTTPTopBrowserParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTopBrowserParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTopBrowserParamsIPVersionIPv4 HTTPTopBrowserParamsIPVersion = "IPv4"` - `const HTTPTopBrowserParamsIPVersionIPv6 HTTPTopBrowserParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTopBrowserParamsOS]` Filters results by operating system. - `const HTTPTopBrowserParamsOSWindows HTTPTopBrowserParamsOS = "WINDOWS"` - `const HTTPTopBrowserParamsOSMacosx HTTPTopBrowserParamsOS = "MACOSX"` - `const HTTPTopBrowserParamsOSIos HTTPTopBrowserParamsOS = "IOS"` - `const HTTPTopBrowserParamsOSAndroid HTTPTopBrowserParamsOS = "ANDROID"` - `const HTTPTopBrowserParamsOSChromeos HTTPTopBrowserParamsOS = "CHROMEOS"` - `const HTTPTopBrowserParamsOSLinux HTTPTopBrowserParamsOS = "LINUX"` - `const HTTPTopBrowserParamsOSSmartTv HTTPTopBrowserParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTopBrowserParamsTLSVersion]` Filters results by TLS version. - `const HTTPTopBrowserParamsTLSVersionTlSv1_0 HTTPTopBrowserParamsTLSVersion = "TLSv1_0"` - `const HTTPTopBrowserParamsTLSVersionTlSv1_1 HTTPTopBrowserParamsTLSVersion = "TLSv1_1"` - `const HTTPTopBrowserParamsTLSVersionTlSv1_2 HTTPTopBrowserParamsTLSVersion = "TLSv1_2"` - `const HTTPTopBrowserParamsTLSVersionTlSv1_3 HTTPTopBrowserParamsTLSVersion = "TLSv1_3"` - `const HTTPTopBrowserParamsTLSVersionTlSvQuic HTTPTopBrowserParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTopBrowserResponse struct{…}` - `Meta HTTPTopBrowserResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPTopBrowserResponseMetaConfidenceInfo` - `Annotations []HTTPTopBrowserResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTopBrowserResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTopBrowserResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTopBrowserResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTopBrowserResponseMetaNormalizationPercentage HTTPTopBrowserResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTopBrowserResponseMetaNormalizationMin0Max HTTPTopBrowserResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTopBrowserResponseMetaNormalizationMinMax HTTPTopBrowserResponseMetaNormalization = "MIN_MAX"` - `const HTTPTopBrowserResponseMetaNormalizationRawValues HTTPTopBrowserResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTopBrowserResponseMetaNormalizationPercentageChange HTTPTopBrowserResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTopBrowserResponseMetaNormalizationRollingAverage HTTPTopBrowserResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTopBrowserResponseMetaNormalizationOverlappedPercentage HTTPTopBrowserResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTopBrowserResponseMetaNormalizationRatio HTTPTopBrowserResponseMetaNormalization = "RATIO"` - `Units []HTTPTopBrowserResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPTopBrowserResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Top.Browser(context.TODO(), radar.HTTPTopBrowserParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "chrome", "value": "value" } ] }, "success": true } ``` ## Get top user agent families by HTTP requests `client.Radar.HTTP.Top.BrowserFamily(ctx, query) (*HTTPTopBrowserFamilyResponse, error)` **get** `/radar/http/top/browser_family` Retrieves the top user agents, aggregated in families, by HTTP requests. ### Parameters - `query HTTPTopBrowserFamilyParams` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]HTTPTopBrowserFamilyParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const HTTPTopBrowserFamilyParamsBotClassLikelyAutomated HTTPTopBrowserFamilyParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTopBrowserFamilyParamsBotClassLikelyHuman HTTPTopBrowserFamilyParamsBotClass = "LIKELY_HUMAN"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DeviceType param.Field[[]HTTPTopBrowserFamilyParamsDeviceType]` Filters results by device type. - `const HTTPTopBrowserFamilyParamsDeviceTypeDesktop HTTPTopBrowserFamilyParamsDeviceType = "DESKTOP"` - `const HTTPTopBrowserFamilyParamsDeviceTypeMobile HTTPTopBrowserFamilyParamsDeviceType = "MOBILE"` - `const HTTPTopBrowserFamilyParamsDeviceTypeOther HTTPTopBrowserFamilyParamsDeviceType = "OTHER"` - `Format param.Field[HTTPTopBrowserFamilyParamsFormat]` Format in which results will be returned. - `const HTTPTopBrowserFamilyParamsFormatJson HTTPTopBrowserFamilyParamsFormat = "JSON"` - `const HTTPTopBrowserFamilyParamsFormatCsv HTTPTopBrowserFamilyParamsFormat = "CSV"` - `GeoID param.Field[[]string]` Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). - `HTTPProtocol param.Field[[]HTTPTopBrowserFamilyParamsHTTPProtocol]` Filters results by HTTP protocol (HTTP vs. HTTPS). - `const HTTPTopBrowserFamilyParamsHTTPProtocolHTTP HTTPTopBrowserFamilyParamsHTTPProtocol = "HTTP"` - `const HTTPTopBrowserFamilyParamsHTTPProtocolHTTPS HTTPTopBrowserFamilyParamsHTTPProtocol = "HTTPS"` - `HTTPVersion param.Field[[]HTTPTopBrowserFamilyParamsHTTPVersion]` Filters results by HTTP version. - `const HTTPTopBrowserFamilyParamsHTTPVersionHttPv1 HTTPTopBrowserFamilyParamsHTTPVersion = "HTTPv1"` - `const HTTPTopBrowserFamilyParamsHTTPVersionHttPv2 HTTPTopBrowserFamilyParamsHTTPVersion = "HTTPv2"` - `const HTTPTopBrowserFamilyParamsHTTPVersionHttPv3 HTTPTopBrowserFamilyParamsHTTPVersion = "HTTPv3"` - `IPVersion param.Field[[]HTTPTopBrowserFamilyParamsIPVersion]` Filters results by IP version (Ipv4 vs. IPv6). - `const HTTPTopBrowserFamilyParamsIPVersionIPv4 HTTPTopBrowserFamilyParamsIPVersion = "IPv4"` - `const HTTPTopBrowserFamilyParamsIPVersionIPv6 HTTPTopBrowserFamilyParamsIPVersion = "IPv6"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OS param.Field[[]HTTPTopBrowserFamilyParamsOS]` Filters results by operating system. - `const HTTPTopBrowserFamilyParamsOSWindows HTTPTopBrowserFamilyParamsOS = "WINDOWS"` - `const HTTPTopBrowserFamilyParamsOSMacosx HTTPTopBrowserFamilyParamsOS = "MACOSX"` - `const HTTPTopBrowserFamilyParamsOSIos HTTPTopBrowserFamilyParamsOS = "IOS"` - `const HTTPTopBrowserFamilyParamsOSAndroid HTTPTopBrowserFamilyParamsOS = "ANDROID"` - `const HTTPTopBrowserFamilyParamsOSChromeos HTTPTopBrowserFamilyParamsOS = "CHROMEOS"` - `const HTTPTopBrowserFamilyParamsOSLinux HTTPTopBrowserFamilyParamsOS = "LINUX"` - `const HTTPTopBrowserFamilyParamsOSSmartTv HTTPTopBrowserFamilyParamsOS = "SMART_TV"` - `TLSVersion param.Field[[]HTTPTopBrowserFamilyParamsTLSVersion]` Filters results by TLS version. - `const HTTPTopBrowserFamilyParamsTLSVersionTlSv1_0 HTTPTopBrowserFamilyParamsTLSVersion = "TLSv1_0"` - `const HTTPTopBrowserFamilyParamsTLSVersionTlSv1_1 HTTPTopBrowserFamilyParamsTLSVersion = "TLSv1_1"` - `const HTTPTopBrowserFamilyParamsTLSVersionTlSv1_2 HTTPTopBrowserFamilyParamsTLSVersion = "TLSv1_2"` - `const HTTPTopBrowserFamilyParamsTLSVersionTlSv1_3 HTTPTopBrowserFamilyParamsTLSVersion = "TLSv1_3"` - `const HTTPTopBrowserFamilyParamsTLSVersionTlSvQuic HTTPTopBrowserFamilyParamsTLSVersion = "TLSvQUIC"` ### Returns - `type HTTPTopBrowserFamilyResponse struct{…}` - `Meta HTTPTopBrowserFamilyResponseMeta` Metadata for the results. - `ConfidenceInfo HTTPTopBrowserFamilyResponseMetaConfidenceInfo` - `Annotations []HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotation` - `DataSource HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAll HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAIBots HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceBGP HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceBots HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceCT HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNS HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceDos HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceFw HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceFwPg HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTP HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceIQI HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceNet HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceSpeed HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeEvent HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeGeneral HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeOutage HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypePipeline HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly HTTPTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []HTTPTopBrowserFamilyResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization HTTPTopBrowserFamilyResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const HTTPTopBrowserFamilyResponseMetaNormalizationPercentage HTTPTopBrowserFamilyResponseMetaNormalization = "PERCENTAGE"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationMin0Max HTTPTopBrowserFamilyResponseMetaNormalization = "MIN0_MAX"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationMinMax HTTPTopBrowserFamilyResponseMetaNormalization = "MIN_MAX"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationRawValues HTTPTopBrowserFamilyResponseMetaNormalization = "RAW_VALUES"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationPercentageChange HTTPTopBrowserFamilyResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationRollingAverage HTTPTopBrowserFamilyResponseMetaNormalization = "ROLLING_AVERAGE"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationOverlappedPercentage HTTPTopBrowserFamilyResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const HTTPTopBrowserFamilyResponseMetaNormalizationRatio HTTPTopBrowserFamilyResponseMetaNormalization = "RATIO"` - `Units []HTTPTopBrowserFamilyResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []HTTPTopBrowserFamilyResponseTop0` - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.HTTP.Top.BrowserFamily(context.TODO(), radar.HTTPTopBrowserFamilyParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "chrome", "value": "value" } ] }, "success": true } ``` # Origins # Quality # IQI ## Get Internet Quality Index (IQI) summary `client.Radar.Quality.IQI.Summary(ctx, query) (*QualityIQISummaryResponse, error)` **get** `/radar/quality/iqi/summary` Retrieves a summary (percentiles) of bandwidth, latency, or DNS response time from the Radar Internet Quality Index (IQI). ### Parameters - `query QualityIQISummaryParams` - `Metric param.Field[QualityIQISummaryParamsMetric]` Defines which metric to return (bandwidth, latency, or DNS response time). - `const QualityIQISummaryParamsMetricBandwidth QualityIQISummaryParamsMetric = "BANDWIDTH"` - `const QualityIQISummaryParamsMetricDNS QualityIQISummaryParamsMetric = "DNS"` - `const QualityIQISummaryParamsMetricLatency QualityIQISummaryParamsMetric = "LATENCY"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[QualityIQISummaryParamsFormat]` Format in which results will be returned. - `const QualityIQISummaryParamsFormatJson QualityIQISummaryParamsFormat = "JSON"` - `const QualityIQISummaryParamsFormatCsv QualityIQISummaryParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type QualityIQISummaryResponse struct{…}` - `Meta QualityIQISummaryResponseMeta` Metadata for the results. - `ConfidenceInfo QualityIQISummaryResponseMetaConfidenceInfo` - `Annotations []QualityIQISummaryResponseMetaConfidenceInfoAnnotation` - `DataSource QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualityIQISummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualityIQISummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualityIQISummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualityIQISummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualityIQISummaryResponseMetaNormalizationPercentage QualityIQISummaryResponseMetaNormalization = "PERCENTAGE"` - `const QualityIQISummaryResponseMetaNormalizationMin0Max QualityIQISummaryResponseMetaNormalization = "MIN0_MAX"` - `const QualityIQISummaryResponseMetaNormalizationMinMax QualityIQISummaryResponseMetaNormalization = "MIN_MAX"` - `const QualityIQISummaryResponseMetaNormalizationRawValues QualityIQISummaryResponseMetaNormalization = "RAW_VALUES"` - `const QualityIQISummaryResponseMetaNormalizationPercentageChange QualityIQISummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualityIQISummaryResponseMetaNormalizationRollingAverage QualityIQISummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualityIQISummaryResponseMetaNormalizationOverlappedPercentage QualityIQISummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualityIQISummaryResponseMetaNormalizationRatio QualityIQISummaryResponseMetaNormalization = "RATIO"` - `Units []QualityIQISummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 QualityIQISummaryResponseSummary0` - `P25 string` - `P50 string` - `P75 string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.IQI.Summary(context.TODO(), radar.QualityIQISummaryParams{ Metric: cloudflare.F(radar.QualityIQISummaryParamsMetricBandwidth), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "p25": "32.20938", "p50": "61.819881", "p75": "133.813087" } }, "success": true } ``` ## Get Internet Quality Index (IQI) time series `client.Radar.Quality.IQI.TimeseriesGroups(ctx, query) (*QualityIQITimeseriesGroupsResponse, error)` **get** `/radar/quality/iqi/timeseries_groups` Retrieves a time series (percentiles) of bandwidth, latency, or DNS response time from the Radar Internet Quality Index (IQI). ### Parameters - `query QualityIQITimeseriesGroupsParams` - `Metric param.Field[QualityIQITimeseriesGroupsParamsMetric]` Defines which metric to return (bandwidth, latency, or DNS response time). - `const QualityIQITimeseriesGroupsParamsMetricBandwidth QualityIQITimeseriesGroupsParamsMetric = "BANDWIDTH"` - `const QualityIQITimeseriesGroupsParamsMetricDNS QualityIQITimeseriesGroupsParamsMetric = "DNS"` - `const QualityIQITimeseriesGroupsParamsMetricLatency QualityIQITimeseriesGroupsParamsMetric = "LATENCY"` - `AggInterval param.Field[QualityIQITimeseriesGroupsParamsAggInterval]` 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/). - `const QualityIQITimeseriesGroupsParamsAggInterval15m QualityIQITimeseriesGroupsParamsAggInterval = "15m"` - `const QualityIQITimeseriesGroupsParamsAggInterval1h QualityIQITimeseriesGroupsParamsAggInterval = "1h"` - `const QualityIQITimeseriesGroupsParamsAggInterval1d QualityIQITimeseriesGroupsParamsAggInterval = "1d"` - `const QualityIQITimeseriesGroupsParamsAggInterval1w QualityIQITimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[QualityIQITimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const QualityIQITimeseriesGroupsParamsFormatJson QualityIQITimeseriesGroupsParamsFormat = "JSON"` - `const QualityIQITimeseriesGroupsParamsFormatCsv QualityIQITimeseriesGroupsParamsFormat = "CSV"` - `Interpolation param.Field[bool]` Enables interpolation for all series (using the average). - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type QualityIQITimeseriesGroupsResponse struct{…}` - `Meta QualityIQITimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval QualityIQITimeseriesGroupsResponseMetaAggInterval` 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/). - `const QualityIQITimeseriesGroupsResponseMetaAggIntervalFifteenMinutes QualityIQITimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneHour QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneDay QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneWeek QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const QualityIQITimeseriesGroupsResponseMetaAggIntervalOneMonth QualityIQITimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo QualityIQITimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualityIQITimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualityIQITimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualityIQITimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualityIQITimeseriesGroupsResponseMetaNormalizationPercentage QualityIQITimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationMin0Max QualityIQITimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationMinMax QualityIQITimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationRawValues QualityIQITimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationPercentageChange QualityIQITimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationRollingAverage QualityIQITimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationOverlappedPercentage QualityIQITimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualityIQITimeseriesGroupsResponseMetaNormalizationRatio QualityIQITimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []QualityIQITimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 QualityIQITimeseriesGroupsResponseSerie0` - `P25 []string` - `P50 []string` - `P75 []string` - `Timestamps []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.IQI.TimeseriesGroups(context.TODO(), radar.QualityIQITimeseriesGroupsParams{ Metric: cloudflare.F(radar.QualityIQITimeseriesGroupsParamsMetricBandwidth), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "p25": [ "31.253439" ], "p50": [ "60.337738" ], "p75": [ "125.940175" ], "timestamps": [ "2023-04-17T00:00:00Z" ] } }, "success": true } ``` # Speed ## Get speed tests summary `client.Radar.Quality.Speed.Summary(ctx, query) (*QualitySpeedSummaryResponse, error)` **get** `/radar/quality/speed/summary` Retrieves a summary of bandwidth, latency, jitter, and packet loss, from the previous 90 days of Cloudflare Speed Test data. ### Parameters - `query QualitySpeedSummaryParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `Format param.Field[QualitySpeedSummaryParamsFormat]` Format in which results will be returned. - `const QualitySpeedSummaryParamsFormatJson QualitySpeedSummaryParamsFormat = "JSON"` - `const QualitySpeedSummaryParamsFormatCsv QualitySpeedSummaryParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type QualitySpeedSummaryResponse struct{…}` - `Meta QualitySpeedSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo QualitySpeedSummaryResponseMetaConfidenceInfo` - `Annotations []QualitySpeedSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualitySpeedSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualitySpeedSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualitySpeedSummaryResponseMetaNormalizationPercentage QualitySpeedSummaryResponseMetaNormalization = "PERCENTAGE"` - `const QualitySpeedSummaryResponseMetaNormalizationMin0Max QualitySpeedSummaryResponseMetaNormalization = "MIN0_MAX"` - `const QualitySpeedSummaryResponseMetaNormalizationMinMax QualitySpeedSummaryResponseMetaNormalization = "MIN_MAX"` - `const QualitySpeedSummaryResponseMetaNormalizationRawValues QualitySpeedSummaryResponseMetaNormalization = "RAW_VALUES"` - `const QualitySpeedSummaryResponseMetaNormalizationPercentageChange QualitySpeedSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualitySpeedSummaryResponseMetaNormalizationRollingAverage QualitySpeedSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualitySpeedSummaryResponseMetaNormalizationOverlappedPercentage QualitySpeedSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualitySpeedSummaryResponseMetaNormalizationRatio QualitySpeedSummaryResponseMetaNormalization = "RATIO"` - `Units []QualitySpeedSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 QualitySpeedSummaryResponseSummary0` - `BandwidthDownload string` - `BandwidthUpload string` - `JitterIdle string` - `JitterLoaded string` - `LatencyIdle string` - `LatencyLoaded string` - `PacketLoss string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.Speed.Summary(context.TODO(), radar.QualitySpeedSummaryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "bandwidthDownload": "83.765201", "bandwidthUpload": "39.005561", "jitterIdle": "25.648713", "jitterLoaded": "77.462155", "latencyIdle": "83.165385", "latencyLoaded": "270.561124", "packetLoss": "1.23705" } }, "success": true } ``` ## Get speed tests histogram `client.Radar.Quality.Speed.Histogram(ctx, query) (*QualitySpeedHistogramResponse, error)` **get** `/radar/quality/speed/histogram` Retrieves a histogram from the previous 90 days of Cloudflare Speed Test data, split into fixed bandwidth (Mbps), latency (ms), or jitter (ms) buckets. ### Parameters - `query QualitySpeedHistogramParams` - `ASN param.Field[[]string]` 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. - `BucketSize param.Field[int64]` Specifies the width for every bucket in the histogram. - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `Format param.Field[QualitySpeedHistogramParamsFormat]` Format in which results will be returned. - `const QualitySpeedHistogramParamsFormatJson QualitySpeedHistogramParamsFormat = "JSON"` - `const QualitySpeedHistogramParamsFormatCsv QualitySpeedHistogramParamsFormat = "CSV"` - `Location param.Field[[]string]` 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. - `MetricGroup param.Field[QualitySpeedHistogramParamsMetricGroup]` Metrics to be returned. - `const QualitySpeedHistogramParamsMetricGroupBandwidth QualitySpeedHistogramParamsMetricGroup = "BANDWIDTH"` - `const QualitySpeedHistogramParamsMetricGroupLatency QualitySpeedHistogramParamsMetricGroup = "LATENCY"` - `const QualitySpeedHistogramParamsMetricGroupJitter QualitySpeedHistogramParamsMetricGroup = "JITTER"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type QualitySpeedHistogramResponse struct{…}` - `Histogram0 QualitySpeedHistogramResponseHistogram0` - `BandwidthDownload []string` - `BandwidthUpload []string` - `BucketMin []string` - `Meta QualitySpeedHistogramResponseMeta` Metadata for the results. - `BucketSize int64` The width for every bucket in the histogram. - `ConfidenceInfo QualitySpeedHistogramResponseMetaConfidenceInfo` - `Annotations []QualitySpeedHistogramResponseMetaConfidenceInfoAnnotation` - `DataSource QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceAll QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceBots QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceCT QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceDos QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceFw QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceNet QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualitySpeedHistogramResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualitySpeedHistogramResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualitySpeedHistogramResponseMetaNormalizationPercentage QualitySpeedHistogramResponseMetaNormalization = "PERCENTAGE"` - `const QualitySpeedHistogramResponseMetaNormalizationMin0Max QualitySpeedHistogramResponseMetaNormalization = "MIN0_MAX"` - `const QualitySpeedHistogramResponseMetaNormalizationMinMax QualitySpeedHistogramResponseMetaNormalization = "MIN_MAX"` - `const QualitySpeedHistogramResponseMetaNormalizationRawValues QualitySpeedHistogramResponseMetaNormalization = "RAW_VALUES"` - `const QualitySpeedHistogramResponseMetaNormalizationPercentageChange QualitySpeedHistogramResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualitySpeedHistogramResponseMetaNormalizationRollingAverage QualitySpeedHistogramResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualitySpeedHistogramResponseMetaNormalizationOverlappedPercentage QualitySpeedHistogramResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualitySpeedHistogramResponseMetaNormalizationRatio QualitySpeedHistogramResponseMetaNormalization = "RATIO"` - `TotalTests []int64` - `Units []QualitySpeedHistogramResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.Speed.Histogram(context.TODO(), radar.QualitySpeedHistogramParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Histogram0) } ``` #### Response ```json { "result": { "histogram_0": { "bandwidthDownload": [ "83681" ], "bandwidthUpload": [ "181079" ], "bucketMin": [ "0" ] }, "meta": { "bucketSize": 0, "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", "totalTests": [ 0 ], "units": [ { "name": "*", "value": "requests" } ] } }, "success": true } ``` # Top ## Get top ASes by speed test results `client.Radar.Quality.Speed.Top.Ases(ctx, query) (*QualitySpeedTopAsesResponse, error)` **get** `/radar/quality/speed/top/ases` Retrieves the top autonomous systems by bandwidth, latency, jitter, or packet loss, from the previous 90 days of Cloudflare Speed Test data. ### Parameters - `query QualitySpeedTopAsesParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `Format param.Field[QualitySpeedTopAsesParamsFormat]` Format in which results will be returned. - `const QualitySpeedTopAsesParamsFormatJson QualitySpeedTopAsesParamsFormat = "JSON"` - `const QualitySpeedTopAsesParamsFormatCsv QualitySpeedTopAsesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OrderBy param.Field[QualitySpeedTopAsesParamsOrderBy]` Specifies the metric to order the results by. - `const QualitySpeedTopAsesParamsOrderByBandwidthDownload QualitySpeedTopAsesParamsOrderBy = "BANDWIDTH_DOWNLOAD"` - `const QualitySpeedTopAsesParamsOrderByBandwidthUpload QualitySpeedTopAsesParamsOrderBy = "BANDWIDTH_UPLOAD"` - `const QualitySpeedTopAsesParamsOrderByLatencyIdle QualitySpeedTopAsesParamsOrderBy = "LATENCY_IDLE"` - `const QualitySpeedTopAsesParamsOrderByLatencyLoaded QualitySpeedTopAsesParamsOrderBy = "LATENCY_LOADED"` - `const QualitySpeedTopAsesParamsOrderByJitterIdle QualitySpeedTopAsesParamsOrderBy = "JITTER_IDLE"` - `const QualitySpeedTopAsesParamsOrderByJitterLoaded QualitySpeedTopAsesParamsOrderBy = "JITTER_LOADED"` - `Reverse param.Field[bool]` Reverses the order of results. ### Returns - `type QualitySpeedTopAsesResponse struct{…}` - `Meta QualitySpeedTopAsesResponseMeta` Metadata for the results. - `ConfidenceInfo QualitySpeedTopAsesResponseMetaConfidenceInfo` - `Annotations []QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotation` - `DataSource QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAll QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceBots QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceCT QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceDos QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFw QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceNet QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualitySpeedTopAsesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualitySpeedTopAsesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualitySpeedTopAsesResponseMetaNormalizationPercentage QualitySpeedTopAsesResponseMetaNormalization = "PERCENTAGE"` - `const QualitySpeedTopAsesResponseMetaNormalizationMin0Max QualitySpeedTopAsesResponseMetaNormalization = "MIN0_MAX"` - `const QualitySpeedTopAsesResponseMetaNormalizationMinMax QualitySpeedTopAsesResponseMetaNormalization = "MIN_MAX"` - `const QualitySpeedTopAsesResponseMetaNormalizationRawValues QualitySpeedTopAsesResponseMetaNormalization = "RAW_VALUES"` - `const QualitySpeedTopAsesResponseMetaNormalizationPercentageChange QualitySpeedTopAsesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualitySpeedTopAsesResponseMetaNormalizationRollingAverage QualitySpeedTopAsesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualitySpeedTopAsesResponseMetaNormalizationOverlappedPercentage QualitySpeedTopAsesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualitySpeedTopAsesResponseMetaNormalizationRatio QualitySpeedTopAsesResponseMetaNormalization = "RATIO"` - `Units []QualitySpeedTopAsesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []QualitySpeedTopAsesResponseTop0` - `BandwidthDownload string` - `BandwidthUpload string` - `ClientASN float64` - `ClientAsName string` - `JitterIdle string` - `JitterLoaded string` - `LatencyIdle string` - `LatencyLoaded string` - `NumTests float64` - `RankPower float64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.Speed.Top.Ases(context.TODO(), radar.QualitySpeedTopAsesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "bandwidthDownload": "642.509004", "bandwidthUpload": "300.672274", "clientASN": 33353, "clientASName": "SIE-CGEI-ASN-1", "jitterIdle": "2.956908", "jitterLoaded": "19.500469", "latencyIdle": "15.925", "latencyLoaded": "65.65", "numTests": 13123, "rankPower": 0.77 } ] }, "success": true } ``` ## Get top locations by speed test results `client.Radar.Quality.Speed.Top.Locations(ctx, query) (*QualitySpeedTopLocationsResponse, error)` **get** `/radar/quality/speed/top/locations` Retrieves the top locations by bandwidth, latency, jitter, or packet loss, from the previous 90 days of Cloudflare Speed Test data. ### Parameters - `query QualitySpeedTopLocationsParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `Format param.Field[QualitySpeedTopLocationsParamsFormat]` Format in which results will be returned. - `const QualitySpeedTopLocationsParamsFormatJson QualitySpeedTopLocationsParamsFormat = "JSON"` - `const QualitySpeedTopLocationsParamsFormatCsv QualitySpeedTopLocationsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `OrderBy param.Field[QualitySpeedTopLocationsParamsOrderBy]` Specifies the metric to order the results by. - `const QualitySpeedTopLocationsParamsOrderByBandwidthDownload QualitySpeedTopLocationsParamsOrderBy = "BANDWIDTH_DOWNLOAD"` - `const QualitySpeedTopLocationsParamsOrderByBandwidthUpload QualitySpeedTopLocationsParamsOrderBy = "BANDWIDTH_UPLOAD"` - `const QualitySpeedTopLocationsParamsOrderByLatencyIdle QualitySpeedTopLocationsParamsOrderBy = "LATENCY_IDLE"` - `const QualitySpeedTopLocationsParamsOrderByLatencyLoaded QualitySpeedTopLocationsParamsOrderBy = "LATENCY_LOADED"` - `const QualitySpeedTopLocationsParamsOrderByJitterIdle QualitySpeedTopLocationsParamsOrderBy = "JITTER_IDLE"` - `const QualitySpeedTopLocationsParamsOrderByJitterLoaded QualitySpeedTopLocationsParamsOrderBy = "JITTER_LOADED"` - `Reverse param.Field[bool]` Reverses the order of results. ### Returns - `type QualitySpeedTopLocationsResponse struct{…}` - `Meta QualitySpeedTopLocationsResponseMeta` Metadata for the results. - `ConfidenceInfo QualitySpeedTopLocationsResponseMetaConfidenceInfo` - `Annotations []QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotation` - `DataSource QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAll QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBGP QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceBots QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceCT QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNS QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceDos QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFw QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceIQI QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceNet QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeEvent QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeOutage QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypePipeline QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []QualitySpeedTopLocationsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization QualitySpeedTopLocationsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const QualitySpeedTopLocationsResponseMetaNormalizationPercentage QualitySpeedTopLocationsResponseMetaNormalization = "PERCENTAGE"` - `const QualitySpeedTopLocationsResponseMetaNormalizationMin0Max QualitySpeedTopLocationsResponseMetaNormalization = "MIN0_MAX"` - `const QualitySpeedTopLocationsResponseMetaNormalizationMinMax QualitySpeedTopLocationsResponseMetaNormalization = "MIN_MAX"` - `const QualitySpeedTopLocationsResponseMetaNormalizationRawValues QualitySpeedTopLocationsResponseMetaNormalization = "RAW_VALUES"` - `const QualitySpeedTopLocationsResponseMetaNormalizationPercentageChange QualitySpeedTopLocationsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const QualitySpeedTopLocationsResponseMetaNormalizationRollingAverage QualitySpeedTopLocationsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const QualitySpeedTopLocationsResponseMetaNormalizationOverlappedPercentage QualitySpeedTopLocationsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const QualitySpeedTopLocationsResponseMetaNormalizationRatio QualitySpeedTopLocationsResponseMetaNormalization = "RATIO"` - `Units []QualitySpeedTopLocationsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []QualitySpeedTopLocationsResponseTop0` - `BandwidthDownload string` - `BandwidthUpload string` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `JitterIdle string` - `JitterLoaded string` - `LatencyIdle string` - `LatencyLoaded string` - `NumTests float64` - `RankPower float64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Quality.Speed.Top.Locations(context.TODO(), radar.QualitySpeedTopLocationsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "bandwidthDownload": "295.886073", "bandwidthUpload": "158.85269", "clientCountryAlpha2": "IS", "clientCountryName": "Iceland", "jitterIdle": "9.640685", "jitterLoaded": "46.480023", "latencyIdle": "15.208124", "latencyLoaded": "114.758887", "numTests": 13123, "rankPower": 0.77 } ] }, "success": true } ``` # Ranking ## Get domains rank time series `client.Radar.Ranking.TimeseriesGroups(ctx, query) (*RankingTimeseriesGroupsResponse, error)` **get** `/radar/ranking/timeseries_groups` Retrieves domains rank over time. ### Parameters - `query RankingTimeseriesGroupsParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `DomainCategory param.Field[[]string]` Filters results by domain category. - `Domains param.Field[[]string]` Filters results by domain name. Specify a comma-separated list of domain names. - `Format param.Field[RankingTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const RankingTimeseriesGroupsParamsFormatJson RankingTimeseriesGroupsParamsFormat = "JSON"` - `const RankingTimeseriesGroupsParamsFormatCsv RankingTimeseriesGroupsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `RankingType param.Field[RankingTimeseriesGroupsParamsRankingType]` The ranking type. - `const RankingTimeseriesGroupsParamsRankingTypePopular RankingTimeseriesGroupsParamsRankingType = "POPULAR"` - `const RankingTimeseriesGroupsParamsRankingTypeTrendingRise RankingTimeseriesGroupsParamsRankingType = "TRENDING_RISE"` - `const RankingTimeseriesGroupsParamsRankingTypeTrendingSteady RankingTimeseriesGroupsParamsRankingType = "TRENDING_STEADY"` ### Returns - `type RankingTimeseriesGroupsResponse struct{…}` - `Meta RankingTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval RankingTimeseriesGroupsResponseMetaAggInterval` 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/). - `const RankingTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes RankingTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const RankingTimeseriesGroupsResponseMetaAggIntervalOneHour RankingTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const RankingTimeseriesGroupsResponseMetaAggIntervalOneDay RankingTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const RankingTimeseriesGroupsResponseMetaAggIntervalOneWeek RankingTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const RankingTimeseriesGroupsResponseMetaAggIntervalOneMonth RankingTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo RankingTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RankingTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RankingTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RankingTimeseriesGroupsResponseMetaNormalizationPercentage RankingTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const RankingTimeseriesGroupsResponseMetaNormalizationMin0Max RankingTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const RankingTimeseriesGroupsResponseMetaNormalizationMinMax RankingTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const RankingTimeseriesGroupsResponseMetaNormalizationRawValues RankingTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const RankingTimeseriesGroupsResponseMetaNormalizationPercentageChange RankingTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RankingTimeseriesGroupsResponseMetaNormalizationRollingAverage RankingTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RankingTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage RankingTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RankingTimeseriesGroupsResponseMetaNormalizationRatio RankingTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []RankingTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RankingTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Ranking.TimeseriesGroups(context.TODO(), radar.RankingTimeseriesGroupsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get top or trending domains `client.Radar.Ranking.Top(ctx, query) (*RankingTopResponse, error)` **get** `/radar/ranking/top` Retrieves the top or trending domains based on their rank. Popular domains are domains of broad appeal based on how people use the Internet. Trending domains are domains that are generating a surge in interest. For more information on top domains, see https://blog.cloudflare.com/radar-domain-rankings/. ### Parameters - `query RankingTopParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `DomainCategory param.Field[[]string]` Filters results by domain category. - `Format param.Field[RankingTopParamsFormat]` Format in which results will be returned. - `const RankingTopParamsFormatJson RankingTopParamsFormat = "JSON"` - `const RankingTopParamsFormatCsv RankingTopParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[[]string]` Filters results by location. Specify a comma-separated list of alpha-2 location codes. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `RankingType param.Field[RankingTopParamsRankingType]` The ranking type. - `const RankingTopParamsRankingTypePopular RankingTopParamsRankingType = "POPULAR"` - `const RankingTopParamsRankingTypeTrendingRise RankingTopParamsRankingType = "TRENDING_RISE"` - `const RankingTopParamsRankingTypeTrendingSteady RankingTopParamsRankingType = "TRENDING_STEADY"` ### Returns - `type RankingTopResponse struct{…}` - `Meta RankingTopResponseMeta` - `ConfidenceInfo RankingTopResponseMetaConfidenceInfo` - `Annotations []RankingTopResponseMetaConfidenceInfoAnnotation` - `DataSource RankingTopResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceAll RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceBGP RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceBots RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceCT RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceDNS RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceDos RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceFw RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceIQI RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceNet RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RankingTopResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RankingTopResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypeEvent RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypeOutage RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypePipeline RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RankingTopResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RankingTopResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RankingTopResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RankingTopResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RankingTopResponseMetaNormalizationPercentage RankingTopResponseMetaNormalization = "PERCENTAGE"` - `const RankingTopResponseMetaNormalizationMin0Max RankingTopResponseMetaNormalization = "MIN0_MAX"` - `const RankingTopResponseMetaNormalizationMinMax RankingTopResponseMetaNormalization = "MIN_MAX"` - `const RankingTopResponseMetaNormalizationRawValues RankingTopResponseMetaNormalization = "RAW_VALUES"` - `const RankingTopResponseMetaNormalizationPercentageChange RankingTopResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RankingTopResponseMetaNormalizationRollingAverage RankingTopResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RankingTopResponseMetaNormalizationOverlappedPercentage RankingTopResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RankingTopResponseMetaNormalizationRatio RankingTopResponseMetaNormalization = "RATIO"` - `Units []RankingTopResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RankingTopResponseTop0` - `Categories []RankingTopResponseTop0Category` - `ID float64` - `Name string` - `SuperCategoryID float64` - `Domain string` - `Rank int64` - `PctRankChange float64` Only available in TRENDING rankings. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Ranking.Top(context.TODO(), radar.RankingTopParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "categories": [ { "id": 81, "name": "Content Servers", "superCategoryId": 26 } ], "domain": "google.com", "rank": 1, "pctRankChange": 10.8 } ] }, "success": true } ``` # Domain ## Get domain rank details `client.Radar.Ranking.Domain.Get(ctx, domain, query) (*RankingDomainGetResponse, error)` **get** `/radar/ranking/domain/{domain}` Retrieves domain rank details. Cloudflare provides an ordered rank for the top 100 domains, but for the remainder it only provides ranking buckets like top 200 thousand, top one million, etc.. These are available through Radar datasets endpoints. ### Parameters - `domain string` Domain name. - `query RankingDomainGetParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Format param.Field[RankingDomainGetParamsFormat]` Format in which results will be returned. - `const RankingDomainGetParamsFormatJson RankingDomainGetParamsFormat = "JSON"` - `const RankingDomainGetParamsFormatCsv RankingDomainGetParamsFormat = "CSV"` - `IncludeTopLocations param.Field[bool]` Includes top locations in the response. - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `RankingType param.Field[RankingDomainGetParamsRankingType]` The ranking type. - `const RankingDomainGetParamsRankingTypePopular RankingDomainGetParamsRankingType = "POPULAR"` - `const RankingDomainGetParamsRankingTypeTrendingRise RankingDomainGetParamsRankingType = "TRENDING_RISE"` - `const RankingDomainGetParamsRankingTypeTrendingSteady RankingDomainGetParamsRankingType = "TRENDING_STEADY"` ### Returns - `type RankingDomainGetResponse struct{…}` - `Details0 RankingDomainGetResponseDetails0` - `Categories []RankingDomainGetResponseDetails0Category` - `ID int64` - `Name string` - `SuperCategoryID int64` - `Bucket string` Only available in POPULAR ranking for the most recent ranking. - `Rank int64` - `TopLocations []RankingDomainGetResponseDetails0TopLocation` - `LocationCode string` - `LocationName string` - `Rank int64` - `Meta RankingDomainGetResponseMeta` - `DateRange []RankingDomainGetResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) domain, err := client.Radar.Ranking.Domain.Get( context.TODO(), "google.com", radar.RankingDomainGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", domain.Details0) } ``` #### Response ```json { "result": { "details_0": { "categories": [ { "id": 81, "name": "Content Servers", "superCategoryId": 26 } ], "bucket": "2000", "rank": 3, "top_locations": [ { "locationCode": "US", "locationName": "United States", "rank": 1 } ] }, "meta": { "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ] } }, "success": true } ``` # Internet Services ## Get Internet services rank time series `client.Radar.Ranking.InternetServices.TimeseriesGroups(ctx, query) (*RankingInternetServiceTimeseriesGroupsResponse, error)` **get** `/radar/ranking/internet_services/timeseries_groups` Retrieves Internet Services rank update changes over time. ### Parameters - `query RankingInternetServiceTimeseriesGroupsParams` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[RankingInternetServiceTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const RankingInternetServiceTimeseriesGroupsParamsFormatJson RankingInternetServiceTimeseriesGroupsParamsFormat = "JSON"` - `const RankingInternetServiceTimeseriesGroupsParamsFormatCsv RankingInternetServiceTimeseriesGroupsParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `ServiceCategory param.Field[[]string]` Filters results by Internet service category. ### Returns - `type RankingInternetServiceTimeseriesGroupsResponse struct{…}` - `Meta RankingInternetServiceTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval` 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/). - `const RankingInternetServiceTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaAggIntervalOneHour RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaAggIntervalOneDay RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaAggIntervalOneWeek RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaAggIntervalOneMonth RankingInternetServiceTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RankingInternetServiceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RankingInternetServiceTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RankingInternetServiceTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationPercentage RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationMin0Max RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationMinMax RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationRawValues RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationPercentageChange RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationRollingAverage RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RankingInternetServiceTimeseriesGroupsResponseMetaNormalizationRatio RankingInternetServiceTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []RankingInternetServiceTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 RankingInternetServiceTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Ranking.InternetServices.TimeseriesGroups(context.TODO(), radar.RankingInternetServiceTimeseriesGroupsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get top Internet services `client.Radar.Ranking.InternetServices.Top(ctx, query) (*RankingInternetServiceTopResponse, error)` **get** `/radar/ranking/internet_services/top` Retrieves top Internet services based on their rank. ### Parameters - `query RankingInternetServiceTopParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Format param.Field[RankingInternetServiceTopParamsFormat]` Format in which results will be returned. - `const RankingInternetServiceTopParamsFormatJson RankingInternetServiceTopParamsFormat = "JSON"` - `const RankingInternetServiceTopParamsFormatCsv RankingInternetServiceTopParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `ServiceCategory param.Field[[]string]` Filters results by Internet service category. ### Returns - `type RankingInternetServiceTopResponse struct{…}` - `Meta RankingInternetServiceTopResponseMeta` - `ConfidenceInfo RankingInternetServiceTopResponseMetaConfidenceInfo` - `Annotations []RankingInternetServiceTopResponseMetaConfidenceInfoAnnotation` - `DataSource RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceAll RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceBGP RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceBots RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceCT RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceDNS RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceDos RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceFw RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceIQI RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceNet RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypeEvent RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypeOutage RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypePipeline RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RankingInternetServiceTopResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RankingInternetServiceTopResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RankingInternetServiceTopResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RankingInternetServiceTopResponseMetaNormalizationPercentage RankingInternetServiceTopResponseMetaNormalization = "PERCENTAGE"` - `const RankingInternetServiceTopResponseMetaNormalizationMin0Max RankingInternetServiceTopResponseMetaNormalization = "MIN0_MAX"` - `const RankingInternetServiceTopResponseMetaNormalizationMinMax RankingInternetServiceTopResponseMetaNormalization = "MIN_MAX"` - `const RankingInternetServiceTopResponseMetaNormalizationRawValues RankingInternetServiceTopResponseMetaNormalization = "RAW_VALUES"` - `const RankingInternetServiceTopResponseMetaNormalizationPercentageChange RankingInternetServiceTopResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RankingInternetServiceTopResponseMetaNormalizationRollingAverage RankingInternetServiceTopResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RankingInternetServiceTopResponseMetaNormalizationOverlappedPercentage RankingInternetServiceTopResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RankingInternetServiceTopResponseMetaNormalizationRatio RankingInternetServiceTopResponseMetaNormalization = "RATIO"` - `Units []RankingInternetServiceTopResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RankingInternetServiceTopResponseTop0` - `Rank int64` - `Service string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Ranking.InternetServices.Top(context.TODO(), radar.RankingInternetServiceTopParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "rank": 1, "service": "Google" } ] }, "success": true } ``` ## List Internet services categories `client.Radar.Ranking.InternetServices.Categories(ctx, query) (*RankingInternetServiceCategoriesResponse, error)` **get** `/radar/ranking/internet_services/categories` Retrieves the list of Internet services categories. ### Parameters - `query RankingInternetServiceCategoriesParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Format param.Field[RankingInternetServiceCategoriesParamsFormat]` Format in which results will be returned. - `const RankingInternetServiceCategoriesParamsFormatJson RankingInternetServiceCategoriesParamsFormat = "JSON"` - `const RankingInternetServiceCategoriesParamsFormatCsv RankingInternetServiceCategoriesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type RankingInternetServiceCategoriesResponse struct{…}` - `Categories0 []RankingInternetServiceCategoriesResponseCategories0` - `Name string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.Ranking.InternetServices.Categories(context.TODO(), radar.RankingInternetServiceCategoriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Categories0) } ``` #### Response ```json { "result": { "categories_0": [ { "name": "Generative AI" } ] }, "success": true } ``` # Traffic Anomalies ## Get latest Internet traffic anomalies `client.Radar.TrafficAnomalies.Get(ctx, query) (*TrafficAnomalyGetResponse, error)` **get** `/radar/traffic_anomalies` Retrieves the latest Internet traffic anomalies, which are signals that might indicate an outage. These alerts are automatically detected by Radar and manually verified by our team. ### Parameters - `query TrafficAnomalyGetParams` - `ASN param.Field[int64]` Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[TrafficAnomalyGetParamsFormat]` Format in which results will be returned. - `const TrafficAnomalyGetParamsFormatJson TrafficAnomalyGetParamsFormat = "JSON"` - `const TrafficAnomalyGetParamsFormatCsv TrafficAnomalyGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `Origin param.Field[string]` Filters results by origin. - `Status param.Field[TrafficAnomalyGetParamsStatus]` - `const TrafficAnomalyGetParamsStatusVerified TrafficAnomalyGetParamsStatus = "VERIFIED"` - `const TrafficAnomalyGetParamsStatusUnverified TrafficAnomalyGetParamsStatus = "UNVERIFIED"` - `Type param.Field[[]TrafficAnomalyGetParamsType]` Filters results by entity type (LOCATION, AS, or ORIGIN). - `const TrafficAnomalyGetParamsTypeLocation TrafficAnomalyGetParamsType = "LOCATION"` - `const TrafficAnomalyGetParamsTypeAs TrafficAnomalyGetParamsType = "AS"` - `const TrafficAnomalyGetParamsTypeOrigin TrafficAnomalyGetParamsType = "ORIGIN"` ### Returns - `type TrafficAnomalyGetResponse struct{…}` - `TrafficAnomalies []TrafficAnomalyGetResponseTrafficAnomaly` - `StartDate string` - `Status string` - `Type string` - `UUID string` - `ASNDetails TrafficAnomalyGetResponseTrafficAnomaliesASNDetails` - `ASN string` - `Name string` - `Locations TrafficAnomalyGetResponseTrafficAnomaliesASNDetailsLocations` - `Code string` - `Name string` - `EndDate Time` - `LocationDetails TrafficAnomalyGetResponseTrafficAnomaliesLocationDetails` - `Code string` - `Name string` - `OriginDetails TrafficAnomalyGetResponseTrafficAnomaliesOriginDetails` - `Name string` - `Origin string` - `VisibleInDataSources []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) trafficAnomaly, err := client.Radar.TrafficAnomalies.Get(context.TODO(), radar.TrafficAnomalyGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", trafficAnomaly.TrafficAnomalies) } ``` #### Response ```json { "result": { "trafficAnomalies": [ { "startDate": "2023-08-02T23:15:00Z", "status": "UNVERIFIED", "type": "LOCATION", "uuid": "55a57f33-8bc0-4984-b4df-fdaff72df39d", "asnDetails": { "asn": "189", "name": "LUMEN-LEGACY-L3-PARTITION", "locations": { "code": "US", "name": "United States" } }, "endDate": "2019-12-27T18:11:19.117Z", "locationDetails": { "code": "US", "name": "United States" }, "originDetails": { "name": "us-east-1 Amazon Web Services", "origin": "amazon-us-east-1" }, "visibleInDataSources": [ "string" ] } ] }, "success": true } ``` # Locations ## Get top locations by total traffic anomalies `client.Radar.TrafficAnomalies.Locations.Get(ctx, query) (*TrafficAnomalyLocationGetResponse, error)` **get** `/radar/traffic_anomalies/locations` Retrieves the sum of Internet traffic anomalies, grouped by location. These anomalies are signals that might indicate an outage, automatically detected by Radar and manually verified by our team. ### Parameters - `query TrafficAnomalyLocationGetParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[TrafficAnomalyLocationGetParamsFormat]` Format in which results will be returned. - `const TrafficAnomalyLocationGetParamsFormatJson TrafficAnomalyLocationGetParamsFormat = "JSON"` - `const TrafficAnomalyLocationGetParamsFormatCsv TrafficAnomalyLocationGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Status param.Field[TrafficAnomalyLocationGetParamsStatus]` - `const TrafficAnomalyLocationGetParamsStatusVerified TrafficAnomalyLocationGetParamsStatus = "VERIFIED"` - `const TrafficAnomalyLocationGetParamsStatusUnverified TrafficAnomalyLocationGetParamsStatus = "UNVERIFIED"` ### Returns - `type TrafficAnomalyLocationGetResponse struct{…}` - `TrafficAnomalies []TrafficAnomalyLocationGetResponseTrafficAnomaly` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) location, err := client.Radar.TrafficAnomalies.Locations.Get(context.TODO(), radar.TrafficAnomalyLocationGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", location.TrafficAnomalies) } ``` #### Response ```json { "result": { "trafficAnomalies": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` # TCP Resets Timeouts ## Get TCP resets and timeouts summary `client.Radar.TCPResetsTimeouts.Summary(ctx, query) (*TCPResetsTimeoutSummaryResponse, error)` **get** `/radar/tcp_resets_timeouts/summary` Retrieves the distribution of connection stage by TCP connections terminated within the first 10 packets by a reset or timeout. ### Parameters - `query TCPResetsTimeoutSummaryParams` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[TCPResetsTimeoutSummaryParamsFormat]` Format in which results will be returned. - `const TCPResetsTimeoutSummaryParamsFormatJson TCPResetsTimeoutSummaryParamsFormat = "JSON"` - `const TCPResetsTimeoutSummaryParamsFormatCsv TCPResetsTimeoutSummaryParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type TCPResetsTimeoutSummaryResponse struct{…}` - `Meta TCPResetsTimeoutSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo TCPResetsTimeoutSummaryResponseMetaConfidenceInfo` - `Annotations []TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly TCPResetsTimeoutSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []TCPResetsTimeoutSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization TCPResetsTimeoutSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const TCPResetsTimeoutSummaryResponseMetaNormalizationPercentage TCPResetsTimeoutSummaryResponseMetaNormalization = "PERCENTAGE"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationMin0Max TCPResetsTimeoutSummaryResponseMetaNormalization = "MIN0_MAX"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationMinMax TCPResetsTimeoutSummaryResponseMetaNormalization = "MIN_MAX"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationRawValues TCPResetsTimeoutSummaryResponseMetaNormalization = "RAW_VALUES"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationPercentageChange TCPResetsTimeoutSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationRollingAverage TCPResetsTimeoutSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationOverlappedPercentage TCPResetsTimeoutSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const TCPResetsTimeoutSummaryResponseMetaNormalizationRatio TCPResetsTimeoutSummaryResponseMetaNormalization = "RATIO"` - `Units []TCPResetsTimeoutSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 TCPResetsTimeoutSummaryResponseSummary0` - `LaterInFlow string` Connection resets within the first 10 packets from the client, but after the server has received multiple data packets. - `NoMatch string` All other connections. - `PostAck string` Connection resets or timeouts after the server received both a SYN packet and an ACK packet, meaning the connection was successfully established. - `PostPsh string` Connection resets or timeouts after the server received a packet with PSH flag set, following connection establishment. - `PostSyn string` Connection resets or timeouts after the server received only a single SYN packet. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.TCPResetsTimeouts.Summary(context.TODO(), radar.TCPResetsTimeoutSummaryParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "later_in_flow": "10", "no_match": "65", "post_ack": "5", "post_psh": "10", "post_syn": "10" } }, "success": true } ``` ## Get TCP resets and timeouts time series `client.Radar.TCPResetsTimeouts.TimeseriesGroups(ctx, query) (*TCPResetsTimeoutTimeseriesGroupsResponse, error)` **get** `/radar/tcp_resets_timeouts/timeseries_groups` Retrieves the distribution of connection stage by TCP connections terminated within the first 10 packets by a reset or timeout over time. ### Parameters - `query TCPResetsTimeoutTimeseriesGroupsParams` - `AggInterval param.Field[TCPResetsTimeoutTimeseriesGroupsParamsAggInterval]` 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/). - `const TCPResetsTimeoutTimeseriesGroupsParamsAggInterval15m TCPResetsTimeoutTimeseriesGroupsParamsAggInterval = "15m"` - `const TCPResetsTimeoutTimeseriesGroupsParamsAggInterval1h TCPResetsTimeoutTimeseriesGroupsParamsAggInterval = "1h"` - `const TCPResetsTimeoutTimeseriesGroupsParamsAggInterval1d TCPResetsTimeoutTimeseriesGroupsParamsAggInterval = "1d"` - `const TCPResetsTimeoutTimeseriesGroupsParamsAggInterval1w TCPResetsTimeoutTimeseriesGroupsParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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 param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[TCPResetsTimeoutTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const TCPResetsTimeoutTimeseriesGroupsParamsFormatJson TCPResetsTimeoutTimeseriesGroupsParamsFormat = "JSON"` - `const TCPResetsTimeoutTimeseriesGroupsParamsFormatCsv TCPResetsTimeoutTimeseriesGroupsParamsFormat = "CSV"` - `Location param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type TCPResetsTimeoutTimeseriesGroupsResponse struct{…}` - `Meta TCPResetsTimeoutTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval` 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/). - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaAggIntervalOneHour TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaAggIntervalOneDay TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaAggIntervalOneWeek TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaAggIntervalOneMonth TCPResetsTimeoutTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly TCPResetsTimeoutTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []TCPResetsTimeoutTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationPercentage TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationMin0Max TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationMinMax TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationRawValues TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationPercentageChange TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationRollingAverage TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalizationRatio TCPResetsTimeoutTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []TCPResetsTimeoutTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 TCPResetsTimeoutTimeseriesGroupsResponseSerie0` - `LaterInFlow []string` - `NoMatch []string` - `PostAck []string` - `PostPsh []string` - `PostSyn []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.TCPResetsTimeouts.TimeseriesGroups(context.TODO(), radar.TCPResetsTimeoutTimeseriesGroupsParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "later_in_flow": [ "10" ], "no_match": [ "65" ], "post_ack": [ "5" ], "post_psh": [ "10" ], "post_syn": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` # TLDs # Robots TXT # Top ## Get top domain categories by robots.txt files parsed `client.Radar.RobotsTXT.Top.DomainCategories(ctx, query) (*RobotsTXTTopDomainCategoriesResponse, error)` **get** `/radar/robots_txt/top/domain_categories` Retrieves the top domain categories by the number of robots.txt files parsed. ### Parameters - `query RobotsTXTTopDomainCategoriesParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Format param.Field[RobotsTXTTopDomainCategoriesParamsFormat]` Format in which results will be returned. - `const RobotsTXTTopDomainCategoriesParamsFormatJson RobotsTXTTopDomainCategoriesParamsFormat = "JSON"` - `const RobotsTXTTopDomainCategoriesParamsFormatCsv RobotsTXTTopDomainCategoriesParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `UserAgentCategory param.Field[RobotsTXTTopDomainCategoriesParamsUserAgentCategory]` Filters results by user agent category. - `const RobotsTXTTopDomainCategoriesParamsUserAgentCategoryAI RobotsTXTTopDomainCategoriesParamsUserAgentCategory = "AI"` ### Returns - `type RobotsTXTTopDomainCategoriesResponse struct{…}` - `Meta RobotsTXTTopDomainCategoriesResponseMeta` Metadata for the results. - `ConfidenceInfo RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfo` - `Annotations []RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotation` - `DataSource RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAll RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceBots RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceCT RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceDos RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFw RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceNet RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RobotsTXTTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RobotsTXTTopDomainCategoriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RobotsTXTTopDomainCategoriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationPercentage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "PERCENTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationMin0Max RobotsTXTTopDomainCategoriesResponseMetaNormalization = "MIN0_MAX"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationMinMax RobotsTXTTopDomainCategoriesResponseMetaNormalization = "MIN_MAX"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRawValues RobotsTXTTopDomainCategoriesResponseMetaNormalization = "RAW_VALUES"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationPercentageChange RobotsTXTTopDomainCategoriesResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRollingAverage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationOverlappedPercentage RobotsTXTTopDomainCategoriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RobotsTXTTopDomainCategoriesResponseMetaNormalizationRatio RobotsTXTTopDomainCategoriesResponseMetaNormalization = "RATIO"` - `Units []RobotsTXTTopDomainCategoriesResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RobotsTXTTopDomainCategoriesResponseTop0` - `Name string` - `Value int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.RobotsTXT.Top.DomainCategories(context.TODO(), radar.RobotsTXTTopDomainCategoriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "News & Media", "value": 273 } ] }, "success": true } ``` # User Agents ## Get top user agents on robots.txt files `client.Radar.RobotsTXT.Top.UserAgents.Directive(ctx, query) (*RobotsTXTTopUserAgentDirectiveResponse, error)` **get** `/radar/robots_txt/top/user_agents/directive` Retrieves the top user agents on robots.txt files. ### Parameters - `query RobotsTXTTopUserAgentDirectiveParams` - `Date param.Field[[]Time]` Filters results by the specified array of dates. - `Directive param.Field[RobotsTXTTopUserAgentDirectiveParamsDirective]` Filters results by robots.txt directive. - `const RobotsTXTTopUserAgentDirectiveParamsDirectiveAllow RobotsTXTTopUserAgentDirectiveParamsDirective = "ALLOW"` - `const RobotsTXTTopUserAgentDirectiveParamsDirectiveDisallow RobotsTXTTopUserAgentDirectiveParamsDirective = "DISALLOW"` - `DomainCategory param.Field[[]string]` Filters results by domain category. - `Format param.Field[RobotsTXTTopUserAgentDirectiveParamsFormat]` Format in which results will be returned. - `const RobotsTXTTopUserAgentDirectiveParamsFormatJson RobotsTXTTopUserAgentDirectiveParamsFormat = "JSON"` - `const RobotsTXTTopUserAgentDirectiveParamsFormatCsv RobotsTXTTopUserAgentDirectiveParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `UserAgentCategory param.Field[RobotsTXTTopUserAgentDirectiveParamsUserAgentCategory]` Filters results by user agent category. - `const RobotsTXTTopUserAgentDirectiveParamsUserAgentCategoryAI RobotsTXTTopUserAgentDirectiveParamsUserAgentCategory = "AI"` ### Returns - `type RobotsTXTTopUserAgentDirectiveResponse struct{…}` - `Meta RobotsTXTTopUserAgentDirectiveResponseMeta` Metadata for the results. - `ConfidenceInfo RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfo` - `Annotations []RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotation` - `DataSource RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAll RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAIBots RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceBGP RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceBots RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceCT RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNS RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceDos RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceFw RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceFwPg RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTP RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceIQI RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceNet RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceSpeed RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeEvent RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeGeneral RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeOutage RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypePipeline RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly RobotsTXTTopUserAgentDirectiveResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []RobotsTXTTopUserAgentDirectiveResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization RobotsTXTTopUserAgentDirectiveResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationPercentage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "PERCENTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationMin0Max RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "MIN0_MAX"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationMinMax RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "MIN_MAX"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRawValues RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "RAW_VALUES"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationPercentageChange RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRollingAverage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "ROLLING_AVERAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationOverlappedPercentage RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const RobotsTXTTopUserAgentDirectiveResponseMetaNormalizationRatio RobotsTXTTopUserAgentDirectiveResponseMetaNormalization = "RATIO"` - `Units []RobotsTXTTopUserAgentDirectiveResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Top0 []RobotsTXTTopUserAgentDirectiveResponseTop0` - `Name string` - `Value int64` - `Fully int64` - `Partially int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.RobotsTXT.Top.UserAgents.Directive(context.TODO(), radar.RobotsTXTTopUserAgentDirectiveParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "name": "GPTBot", "value": 273, "fully": 235, "partially": 38 } ] }, "success": true } ``` # Leaked Credentials ## Get HTTP authentication requests distribution by dimension `client.Radar.LeakedCredentials.SummaryV2(ctx, dimension, query) (*LeakedCredentialSummaryV2Response, error)` **get** `/radar/leaked_credential_checks/summary/{dimension}` Retrieves an aggregated summary of HTTP authentication requests grouped by the specified dimension. ### Parameters - `dimension LeakedCredentialSummaryV2ParamsDimension` Specifies the attribute by which to group the results. - `const LeakedCredentialSummaryV2ParamsDimensionCompromised LeakedCredentialSummaryV2ParamsDimension = "COMPROMISED"` - `const LeakedCredentialSummaryV2ParamsDimensionBotClass LeakedCredentialSummaryV2ParamsDimension = "BOT_CLASS"` - `query LeakedCredentialSummaryV2Params` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]LeakedCredentialSummaryV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const LeakedCredentialSummaryV2ParamsBotClassLikelyAutomated LeakedCredentialSummaryV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const LeakedCredentialSummaryV2ParamsBotClassLikelyHuman LeakedCredentialSummaryV2ParamsBotClass = "LIKELY_HUMAN"` - `Compromised param.Field[[]LeakedCredentialSummaryV2ParamsCompromised]` Filters results by compromised credential status (clean vs. compromised). - `const LeakedCredentialSummaryV2ParamsCompromisedClean LeakedCredentialSummaryV2ParamsCompromised = "CLEAN"` - `const LeakedCredentialSummaryV2ParamsCompromisedCompromised LeakedCredentialSummaryV2ParamsCompromised = "COMPROMISED"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialSummaryV2ParamsFormat]` Format in which results will be returned. - `const LeakedCredentialSummaryV2ParamsFormatJson LeakedCredentialSummaryV2ParamsFormat = "JSON"` - `const LeakedCredentialSummaryV2ParamsFormatCsv LeakedCredentialSummaryV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type LeakedCredentialSummaryV2Response struct{…}` - `Meta LeakedCredentialSummaryV2ResponseMeta` Metadata for the results. - `ConfidenceInfo LeakedCredentialSummaryV2ResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialSummaryV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialSummaryV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialSummaryV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialSummaryV2ResponseMetaNormalizationPercentage LeakedCredentialSummaryV2ResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationMin0Max LeakedCredentialSummaryV2ResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationMinMax LeakedCredentialSummaryV2ResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationRawValues LeakedCredentialSummaryV2ResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationPercentageChange LeakedCredentialSummaryV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationRollingAverage LeakedCredentialSummaryV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationOverlappedPercentage LeakedCredentialSummaryV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialSummaryV2ResponseMetaNormalizationRatio LeakedCredentialSummaryV2ResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialSummaryV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, string]` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.SummaryV2( context.TODO(), radar.LeakedCredentialSummaryV2ParamsDimensionCompromised, radar.LeakedCredentialSummaryV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "CLEAN": "85.123456", "COMPROMISED": "14.876544" } }, "success": true } ``` ## Get time series distribution of HTTP authentication requests by dimension. `client.Radar.LeakedCredentials.TimeseriesGroupsV2(ctx, dimension, query) (*LeakedCredentialTimeseriesGroupsV2Response, error)` **get** `/radar/leaked_credential_checks/timeseries_groups/{dimension}` Retrieves the distribution of HTTP authentication requests, grouped by the specified dimension over time. ### Parameters - `dimension LeakedCredentialTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const LeakedCredentialTimeseriesGroupsV2ParamsDimensionCompromised LeakedCredentialTimeseriesGroupsV2ParamsDimension = "COMPROMISED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsDimensionBotClass LeakedCredentialTimeseriesGroupsV2ParamsDimension = "BOT_CLASS"` - `query LeakedCredentialTimeseriesGroupsV2Params` - `AggInterval param.Field[LeakedCredentialTimeseriesGroupsV2ParamsAggInterval]` 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/). - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval15m LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1h LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1d LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1w LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` 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. - `BotClass param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const LeakedCredentialTimeseriesGroupsV2ParamsBotClassLikelyAutomated LeakedCredentialTimeseriesGroupsV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsBotClassLikelyHuman LeakedCredentialTimeseriesGroupsV2ParamsBotClass = "LIKELY_HUMAN"` - `CheckResult param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsCheckResult]` Filters results by leaked credential check result. - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultClean LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "CLEAN"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernameLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_LEAKED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernamePasswordSimilar LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_PASSWORD_SIMILAR"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernameAndPasswordLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_AND_PASSWORD_LEAKED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultPasswordLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "PASSWORD_LEAKED"` - `Compromised param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsCompromised]` Filters results by compromised credential status (clean vs. compromised). - `const LeakedCredentialTimeseriesGroupsV2ParamsCompromisedClean LeakedCredentialTimeseriesGroupsV2ParamsCompromised = "CLEAN"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCompromisedCompromised LeakedCredentialTimeseriesGroupsV2ParamsCompromised = "COMPROMISED"` - `Continent param.Field[[]string]` 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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const LeakedCredentialTimeseriesGroupsV2ParamsFormatJson LeakedCredentialTimeseriesGroupsV2ParamsFormat = "JSON"` - `const LeakedCredentialTimeseriesGroupsV2ParamsFormatCsv LeakedCredentialTimeseriesGroupsV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` 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 param.Field[[]string]` 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 param.Field[[]string]` Array of names used to label the series in the response. - `Normalization param.Field[LeakedCredentialTimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialTimeseriesGroupsV2ParamsNormalizationPercentageChange LeakedCredentialTimeseriesGroupsV2ParamsNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupsV2ParamsNormalizationMin0Max LeakedCredentialTimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` ### Returns - `type LeakedCredentialTimeseriesGroupsV2Response struct{…}` - `Meta LeakedCredentialTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval` 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/). - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneHour LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneDay LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationPercentage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationMin0Max LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationMinMax LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRawValues LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRatio LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 LeakedCredentialTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.TimeseriesGroupsV2( context.TODO(), radar.LeakedCredentialTimeseriesGroupsV2ParamsDimensionCompromised, radar.LeakedCredentialTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ``` # Summary ## Get HTTP authentication requests by bot class summary `client.Radar.LeakedCredentials.Summary.BotClass(ctx, query) (*LeakedCredentialSummaryBotClassResponse, error)` **get** `/radar/leaked_credential_checks/summary/bot_class` Retrieves the distribution of HTTP authentication requests by bot class. ### Parameters - `query LeakedCredentialSummaryBotClassParams` - `Compromised param.Field[[]LeakedCredentialSummaryBotClassParamsCompromised]` Filters results by compromised credential status (clean vs. compromised). - `const LeakedCredentialSummaryBotClassParamsCompromisedClean LeakedCredentialSummaryBotClassParamsCompromised = "CLEAN"` - `const LeakedCredentialSummaryBotClassParamsCompromisedCompromised LeakedCredentialSummaryBotClassParamsCompromised = "COMPROMISED"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialSummaryBotClassParamsFormat]` Format in which results will be returned. - `const LeakedCredentialSummaryBotClassParamsFormatJson LeakedCredentialSummaryBotClassParamsFormat = "JSON"` - `const LeakedCredentialSummaryBotClassParamsFormatCsv LeakedCredentialSummaryBotClassParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type LeakedCredentialSummaryBotClassResponse struct{…}` - `Meta LeakedCredentialSummaryBotClassResponseMeta` Metadata for the results. - `ConfidenceInfo LeakedCredentialSummaryBotClassResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialSummaryBotClassResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialSummaryBotClassResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialSummaryBotClassResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationPercentage LeakedCredentialSummaryBotClassResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationMin0Max LeakedCredentialSummaryBotClassResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationMinMax LeakedCredentialSummaryBotClassResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationRawValues LeakedCredentialSummaryBotClassResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationPercentageChange LeakedCredentialSummaryBotClassResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationRollingAverage LeakedCredentialSummaryBotClassResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationOverlappedPercentage LeakedCredentialSummaryBotClassResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialSummaryBotClassResponseMetaNormalizationRatio LeakedCredentialSummaryBotClassResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialSummaryBotClassResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 LeakedCredentialSummaryBotClassResponseSummary0` - `Bot string` A numeric string. - `Human string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.Summary.BotClass(context.TODO(), radar.LeakedCredentialSummaryBotClassParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "bot": "10", "human": "10" } }, "success": true } ``` ## Get HTTP authentication requests by compromised credential status summary `client.Radar.LeakedCredentials.Summary.Compromised(ctx, query) (*LeakedCredentialSummaryCompromisedResponse, error)` **get** `/radar/leaked_credential_checks/summary/compromised` Retrieves the distribution of HTTP authentication requests by compromised credential status. ### Parameters - `query LeakedCredentialSummaryCompromisedParams` - `BotClass param.Field[[]LeakedCredentialSummaryCompromisedParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const LeakedCredentialSummaryCompromisedParamsBotClassLikelyAutomated LeakedCredentialSummaryCompromisedParamsBotClass = "LIKELY_AUTOMATED"` - `const LeakedCredentialSummaryCompromisedParamsBotClassLikelyHuman LeakedCredentialSummaryCompromisedParamsBotClass = "LIKELY_HUMAN"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialSummaryCompromisedParamsFormat]` Format in which results will be returned. - `const LeakedCredentialSummaryCompromisedParamsFormatJson LeakedCredentialSummaryCompromisedParamsFormat = "JSON"` - `const LeakedCredentialSummaryCompromisedParamsFormatCsv LeakedCredentialSummaryCompromisedParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type LeakedCredentialSummaryCompromisedResponse struct{…}` - `Meta LeakedCredentialSummaryCompromisedResponseMeta` Metadata for the results. - `ConfidenceInfo LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialSummaryCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialSummaryCompromisedResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialSummaryCompromisedResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationPercentage LeakedCredentialSummaryCompromisedResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationMin0Max LeakedCredentialSummaryCompromisedResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationMinMax LeakedCredentialSummaryCompromisedResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationRawValues LeakedCredentialSummaryCompromisedResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationPercentageChange LeakedCredentialSummaryCompromisedResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationRollingAverage LeakedCredentialSummaryCompromisedResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationOverlappedPercentage LeakedCredentialSummaryCompromisedResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialSummaryCompromisedResponseMetaNormalizationRatio LeakedCredentialSummaryCompromisedResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialSummaryCompromisedResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 LeakedCredentialSummaryCompromisedResponseSummary0` - `Clean string` A numeric string. - `Compromised string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.Summary.Compromised(context.TODO(), radar.LeakedCredentialSummaryCompromisedParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "CLEAN": "10", "COMPROMISED": "10" } }, "success": true } ``` # Timeseries Groups ## Get HTTP authentication requests by bot class time series `client.Radar.LeakedCredentials.TimeseriesGroups.BotClass(ctx, query) (*LeakedCredentialTimeseriesGroupBotClassResponse, error)` **get** `/radar/leaked_credential_checks/timeseries_groups/bot_class` Retrieves the distribution of HTTP authentication requests by bot class over time. ### Parameters - `query LeakedCredentialTimeseriesGroupBotClassParams` - `AggInterval param.Field[LeakedCredentialTimeseriesGroupBotClassParamsAggInterval]` 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/). - `const LeakedCredentialTimeseriesGroupBotClassParamsAggInterval15m LeakedCredentialTimeseriesGroupBotClassParamsAggInterval = "15m"` - `const LeakedCredentialTimeseriesGroupBotClassParamsAggInterval1h LeakedCredentialTimeseriesGroupBotClassParamsAggInterval = "1h"` - `const LeakedCredentialTimeseriesGroupBotClassParamsAggInterval1d LeakedCredentialTimeseriesGroupBotClassParamsAggInterval = "1d"` - `const LeakedCredentialTimeseriesGroupBotClassParamsAggInterval1w LeakedCredentialTimeseriesGroupBotClassParamsAggInterval = "1w"` - `Compromised param.Field[[]LeakedCredentialTimeseriesGroupBotClassParamsCompromised]` Filters results by compromised credential status (clean vs. compromised). - `const LeakedCredentialTimeseriesGroupBotClassParamsCompromisedClean LeakedCredentialTimeseriesGroupBotClassParamsCompromised = "CLEAN"` - `const LeakedCredentialTimeseriesGroupBotClassParamsCompromisedCompromised LeakedCredentialTimeseriesGroupBotClassParamsCompromised = "COMPROMISED"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialTimeseriesGroupBotClassParamsFormat]` Format in which results will be returned. - `const LeakedCredentialTimeseriesGroupBotClassParamsFormatJson LeakedCredentialTimeseriesGroupBotClassParamsFormat = "JSON"` - `const LeakedCredentialTimeseriesGroupBotClassParamsFormatCsv LeakedCredentialTimeseriesGroupBotClassParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type LeakedCredentialTimeseriesGroupBotClassResponse struct{…}` - `Meta LeakedCredentialTimeseriesGroupBotClassResponseMeta` Metadata for the results. - `AggInterval LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval` 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/). - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaAggIntervalFifteenMinutes LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaAggIntervalOneHour LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_HOUR"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaAggIntervalOneDay LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_DAY"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaAggIntervalOneWeek LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_WEEK"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaAggIntervalOneMonth LeakedCredentialTimeseriesGroupBotClassResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialTimeseriesGroupBotClassResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialTimeseriesGroupBotClassResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationPercentage LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationMin0Max LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationMinMax LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationRawValues LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationPercentageChange LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationRollingAverage LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationOverlappedPercentage LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalizationRatio LeakedCredentialTimeseriesGroupBotClassResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialTimeseriesGroupBotClassResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 LeakedCredentialTimeseriesGroupBotClassResponseSerie0` - `Bot []string` - `Human []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.TimeseriesGroups.BotClass(context.TODO(), radar.LeakedCredentialTimeseriesGroupBotClassParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "bot": [ "10" ], "human": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ``` ## Get HTTP authentication requests by compromised credential status time series `client.Radar.LeakedCredentials.TimeseriesGroups.Compromised(ctx, query) (*LeakedCredentialTimeseriesGroupCompromisedResponse, error)` **get** `/radar/leaked_credential_checks/timeseries_groups/compromised` Retrieves the distribution of HTTP authentication requests by compromised credential status over time. ### Parameters - `query LeakedCredentialTimeseriesGroupCompromisedParams` - `AggInterval param.Field[LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval]` 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/). - `const LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval15m LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval = "15m"` - `const LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval1h LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval = "1h"` - `const LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval1d LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval = "1d"` - `const LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval1w LeakedCredentialTimeseriesGroupCompromisedParamsAggInterval = "1w"` - `BotClass param.Field[[]LeakedCredentialTimeseriesGroupCompromisedParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). - `const LeakedCredentialTimeseriesGroupCompromisedParamsBotClassLikelyAutomated LeakedCredentialTimeseriesGroupCompromisedParamsBotClass = "LIKELY_AUTOMATED"` - `const LeakedCredentialTimeseriesGroupCompromisedParamsBotClassLikelyHuman LeakedCredentialTimeseriesGroupCompromisedParamsBotClass = "LIKELY_HUMAN"` - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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). - `DateStart param.Field[[]Time]` Start of the date range. - `Format param.Field[LeakedCredentialTimeseriesGroupCompromisedParamsFormat]` Format in which results will be returned. - `const LeakedCredentialTimeseriesGroupCompromisedParamsFormatJson LeakedCredentialTimeseriesGroupCompromisedParamsFormat = "JSON"` - `const LeakedCredentialTimeseriesGroupCompromisedParamsFormatCsv LeakedCredentialTimeseriesGroupCompromisedParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type LeakedCredentialTimeseriesGroupCompromisedResponse struct{…}` - `Meta LeakedCredentialTimeseriesGroupCompromisedResponseMeta` Metadata for the results. - `AggInterval LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval` 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/). - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggIntervalFifteenMinutes LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggIntervalOneHour LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval = "ONE_HOUR"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggIntervalOneDay LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval = "ONE_DAY"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggIntervalOneWeek LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval = "ONE_WEEK"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggIntervalOneMonth LeakedCredentialTimeseriesGroupCompromisedResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialTimeseriesGroupCompromisedResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialTimeseriesGroupCompromisedResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationPercentage LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationMin0Max LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationMinMax LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationRawValues LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationPercentageChange LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationRollingAverage LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationOverlappedPercentage LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalizationRatio LeakedCredentialTimeseriesGroupCompromisedResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialTimeseriesGroupCompromisedResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 LeakedCredentialTimeseriesGroupCompromisedResponseSerie0` - `Clean []string` - `Compromised []string` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.TimeseriesGroups.Compromised(context.TODO(), radar.LeakedCredentialTimeseriesGroupCompromisedParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": { "CLEAN": [ "10" ], "COMPROMISED": [ "10" ], "timestamps": [ "2019-12-27T18:11:19.117Z" ] } }, "success": true } ```