## 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 } ```