## 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 HTTPSummaryV2ParamsDimensionAPITraffic HTTPSummaryV2ParamsDimension = "API_TRAFFIC"` - `const HTTPSummaryV2ParamsDimensionAs HTTPSummaryV2ParamsDimension = "AS"` - `const HTTPSummaryV2ParamsDimensionBotClass HTTPSummaryV2ParamsDimension = "BOT_CLASS"` - `const HTTPSummaryV2ParamsDimensionBrowser HTTPSummaryV2ParamsDimension = "BROWSER"` - `const HTTPSummaryV2ParamsDimensionBrowserFamily HTTPSummaryV2ParamsDimension = "BROWSER_FAMILY"` - `const HTTPSummaryV2ParamsDimensionContentType HTTPSummaryV2ParamsDimension = "CONTENT_TYPE"` - `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` - `APITraffic param.Field[[]HTTPSummaryV2ParamsAPITraffic]` Filters results by API traffic classification. API traffic is identified by JSON or XML response content types on dynamic (non-cacheable) HTTP requests. Incompatible with the `browserFamily`, `deviceType`, `httpProtocol`, `httpVersion`, `ipVersion`, `os`, and `tlsVersion` filters/dimensions. When set, results can only be further filtered by location, continent, or Autonomous System. - `const HTTPSummaryV2ParamsAPITrafficAPI HTTPSummaryV2ParamsAPITraffic = "API"` - `const HTTPSummaryV2ParamsAPITrafficNonAPI HTTPSummaryV2ParamsAPITraffic = "NON_API"` - `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://edgetunnel-b2h.pages.dev/radar/concepts/bot-classes/). - `const HTTPSummaryV2ParamsBotClassLikelyAutomated HTTPSummaryV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPSummaryV2ParamsBotClassLikelyHuman HTTPSummaryV2ParamsBotClass = "LIKELY_HUMAN"` - `ContentType param.Field[[]HTTPSummaryV2ParamsContentType]` Filters results by content type category. When set, results can only be further filtered by location, continent, or Autonomous System. - `const HTTPSummaryV2ParamsContentTypeHTML HTTPSummaryV2ParamsContentType = "HTML"` - `const HTTPSummaryV2ParamsContentTypeImages HTTPSummaryV2ParamsContentType = "IMAGES"` - `const HTTPSummaryV2ParamsContentTypeJson HTTPSummaryV2ParamsContentType = "JSON"` - `const HTTPSummaryV2ParamsContentTypeJavascript HTTPSummaryV2ParamsContentType = "JAVASCRIPT"` - `const HTTPSummaryV2ParamsContentTypeCSS HTTPSummaryV2ParamsContentType = "CSS"` - `const HTTPSummaryV2ParamsContentTypePlainText HTTPSummaryV2ParamsContentType = "PLAIN_TEXT"` - `const HTTPSummaryV2ParamsContentTypeFonts HTTPSummaryV2ParamsContentType = "FONTS"` - `const HTTPSummaryV2ParamsContentTypeXml HTTPSummaryV2ParamsContentType = "XML"` - `const HTTPSummaryV2ParamsContentTypeYaml HTTPSummaryV2ParamsContentType = "YAML"` - `const HTTPSummaryV2ParamsContentTypeVideo HTTPSummaryV2ParamsContentType = "VIDEO"` - `const HTTPSummaryV2ParamsContentTypeAudio HTTPSummaryV2ParamsContentType = "AUDIO"` - `const HTTPSummaryV2ParamsContentTypeMarkdown HTTPSummaryV2ParamsContentType = "MARKDOWN"` - `const HTTPSummaryV2ParamsContentTypeDocuments HTTPSummaryV2ParamsContentType = "DOCUMENTS"` - `const HTTPSummaryV2ParamsContentTypeBinary HTTPSummaryV2ParamsContentType = "BINARY"` - `const HTTPSummaryV2ParamsContentTypeSerialization HTTPSummaryV2ParamsContentType = "SERIALIZATION"` - `const HTTPSummaryV2ParamsContentTypeOther HTTPSummaryV2ParamsContentType = "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. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). Alternative to `dateRange`; provide together with `dateStart`. When requesting comparison series, every series must resolve to the same duration as the main series. Each `dateStart`/`dateEnd` is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected. - `DateRange param.Field[[]string]` Filters results by relative date range ending at the current time, with each value producing a separate series. Use `d` for days (up to `364d`) or `w` for weeks (up to `52w`). Append `control` to request the equivalent previous period for comparison: the comparison window is shifted back by the current window's length rounded up to a whole number of weeks, so it keeps the same weekday alignment and does not overlap the current window (e.g. `7dcontrol` covers days -14 to -7, `10dcontrol` covers days -24 to -14). For example, pass `7d` and `7dcontrol` to compare this week with the previous week. All series must resolve to the same duration as the main series; relative ranges (including `control`) satisfy this automatically. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `DateStart param.Field[[]Time]` Start of the date range. Alternative to `dateRange`; provide together with `dateEnd`. When requesting comparison series, every series must resolve to the same duration as the main series. Each `dateStart`/`dateEnd` is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected. - `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. Only supported on high-cardinality dimensions; otherwise the request is rejected. Minimum value is 2. - `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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "tags": [ "BOT_CLASS" ] } ], "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 } ```