# 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 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 } ``` ## 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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `const HTTPTimeseriesParamsAggInterval15m HTTPTimeseriesParamsAggInterval = "15m"` - `const HTTPTimeseriesParamsAggInterval1h HTTPTimeseriesParamsAggInterval = "1h"` - `const HTTPTimeseriesParamsAggInterval1d HTTPTimeseriesParamsAggInterval = "1d"` - `const HTTPTimeseriesParamsAggInterval1w HTTPTimeseriesParamsAggInterval = "1w"` - `APITraffic param.Field[[]HTTPTimeseriesParamsAPITraffic]` 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 HTTPTimeseriesParamsAPITrafficAPI HTTPTimeseriesParamsAPITraffic = "API"` - `const HTTPTimeseriesParamsAPITrafficNonAPI HTTPTimeseriesParamsAPITraffic = "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[[]HTTPTimeseriesParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://edgetunnel-b2h.pages.dev/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"` - `ContentType param.Field[[]HTTPTimeseriesParamsContentType]` Filters results by content type category. When set, results can only be further filtered by location, continent, or Autonomous System. - `const HTTPTimeseriesParamsContentTypeHTML HTTPTimeseriesParamsContentType = "HTML"` - `const HTTPTimeseriesParamsContentTypeImages HTTPTimeseriesParamsContentType = "IMAGES"` - `const HTTPTimeseriesParamsContentTypeJson HTTPTimeseriesParamsContentType = "JSON"` - `const HTTPTimeseriesParamsContentTypeJavascript HTTPTimeseriesParamsContentType = "JAVASCRIPT"` - `const HTTPTimeseriesParamsContentTypeCSS HTTPTimeseriesParamsContentType = "CSS"` - `const HTTPTimeseriesParamsContentTypePlainText HTTPTimeseriesParamsContentType = "PLAIN_TEXT"` - `const HTTPTimeseriesParamsContentTypeFonts HTTPTimeseriesParamsContentType = "FONTS"` - `const HTTPTimeseriesParamsContentTypeXml HTTPTimeseriesParamsContentType = "XML"` - `const HTTPTimeseriesParamsContentTypeYaml HTTPTimeseriesParamsContentType = "YAML"` - `const HTTPTimeseriesParamsContentTypeVideo HTTPTimeseriesParamsContentType = "VIDEO"` - `const HTTPTimeseriesParamsContentTypeAudio HTTPTimeseriesParamsContentType = "AUDIO"` - `const HTTPTimeseriesParamsContentTypeMarkdown HTTPTimeseriesParamsContentType = "MARKDOWN"` - `const HTTPTimeseriesParamsContentTypeDocuments HTTPTimeseriesParamsContentType = "DOCUMENTS"` - `const HTTPTimeseriesParamsContentTypeBinary HTTPTimeseriesParamsContentType = "BINARY"` - `const HTTPTimeseriesParamsContentTypeSerialization HTTPTimeseriesParamsContentType = "SERIALIZATION"` - `const HTTPTimeseriesParamsContentTypeOther HTTPTimeseriesParamsContentType = "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[[]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://edgetunnel-b2h.pages.dev/radar/concepts/normalization/). `PERCENTAGE_CHANGE` requires exactly one comparison series (e.g. a `control` date range). - `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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] } }, "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 HTTPTimeseriesGroupsV2ParamsDimensionAPITraffic HTTPTimeseriesGroupsV2ParamsDimension = "API_TRAFFIC"` - `const HTTPTimeseriesGroupsV2ParamsDimensionAs HTTPTimeseriesGroupsV2ParamsDimension = "AS"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBotClass HTTPTimeseriesGroupsV2ParamsDimension = "BOT_CLASS"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBrowser HTTPTimeseriesGroupsV2ParamsDimension = "BROWSER"` - `const HTTPTimeseriesGroupsV2ParamsDimensionBrowserFamily HTTPTimeseriesGroupsV2ParamsDimension = "BROWSER_FAMILY"` - `const HTTPTimeseriesGroupsV2ParamsDimensionContentType HTTPTimeseriesGroupsV2ParamsDimension = "CONTENT_TYPE"` - `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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `const HTTPTimeseriesGroupsV2ParamsAggInterval15m HTTPTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1h HTTPTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1d HTTPTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const HTTPTimeseriesGroupsV2ParamsAggInterval1w HTTPTimeseriesGroupsV2ParamsAggInterval = "1w"` - `APITraffic param.Field[[]HTTPTimeseriesGroupsV2ParamsAPITraffic]` 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 HTTPTimeseriesGroupsV2ParamsAPITrafficAPI HTTPTimeseriesGroupsV2ParamsAPITraffic = "API"` - `const HTTPTimeseriesGroupsV2ParamsAPITrafficNonAPI HTTPTimeseriesGroupsV2ParamsAPITraffic = "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[[]HTTPTimeseriesGroupsV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://edgetunnel-b2h.pages.dev/radar/concepts/bot-classes/). - `const HTTPTimeseriesGroupsV2ParamsBotClassLikelyAutomated HTTPTimeseriesGroupsV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const HTTPTimeseriesGroupsV2ParamsBotClassLikelyHuman HTTPTimeseriesGroupsV2ParamsBotClass = "LIKELY_HUMAN"` - `ContentType param.Field[[]HTTPTimeseriesGroupsV2ParamsContentType]` Filters results by content type category. When set, results can only be further filtered by location, continent, or Autonomous System. - `const HTTPTimeseriesGroupsV2ParamsContentTypeHTML HTTPTimeseriesGroupsV2ParamsContentType = "HTML"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeImages HTTPTimeseriesGroupsV2ParamsContentType = "IMAGES"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeJson HTTPTimeseriesGroupsV2ParamsContentType = "JSON"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeJavascript HTTPTimeseriesGroupsV2ParamsContentType = "JAVASCRIPT"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeCSS HTTPTimeseriesGroupsV2ParamsContentType = "CSS"` - `const HTTPTimeseriesGroupsV2ParamsContentTypePlainText HTTPTimeseriesGroupsV2ParamsContentType = "PLAIN_TEXT"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeFonts HTTPTimeseriesGroupsV2ParamsContentType = "FONTS"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeXml HTTPTimeseriesGroupsV2ParamsContentType = "XML"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeYaml HTTPTimeseriesGroupsV2ParamsContentType = "YAML"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeVideo HTTPTimeseriesGroupsV2ParamsContentType = "VIDEO"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeAudio HTTPTimeseriesGroupsV2ParamsContentType = "AUDIO"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeMarkdown HTTPTimeseriesGroupsV2ParamsContentType = "MARKDOWN"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeDocuments HTTPTimeseriesGroupsV2ParamsContentType = "DOCUMENTS"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeBinary HTTPTimeseriesGroupsV2ParamsContentType = "BINARY"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeSerialization HTTPTimeseriesGroupsV2ParamsContentType = "SERIALIZATION"` - `const HTTPTimeseriesGroupsV2ParamsContentTypeOther HTTPTimeseriesGroupsV2ParamsContentType = "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[[]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. 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. - `Normalization param.Field[HTTPTimeseriesGroupsV2ParamsNormalization]` Normalization method applied to the results. Refer to [Normalization methods](https://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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. - `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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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. - `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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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. - `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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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": { "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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. 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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. 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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. - `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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected. - `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://edgetunnel-b2h.pages.dev/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). 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[[]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://edgetunnel-b2h.pages.dev/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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "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://edgetunnel-b2h.pages.dev/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). 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[[]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` - `Tags []string` - `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://edgetunnel-b2h.pages.dev/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", "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" } ] }, "top_0": [ { "name": "chrome", "value": "value" } ] }, "success": true } ```