## Get time series distribution of HTTP authentication requests by dimension. `client.Radar.LeakedCredentials.TimeseriesGroupsV2(ctx, dimension, query) (*LeakedCredentialTimeseriesGroupsV2Response, error)` **get** `/radar/leaked_credential_checks/timeseries_groups/{dimension}` Retrieves the distribution of HTTP authentication requests, grouped by the specified dimension over time. ### Parameters - `dimension LeakedCredentialTimeseriesGroupsV2ParamsDimension` Specifies the attribute by which to group the results. - `const LeakedCredentialTimeseriesGroupsV2ParamsDimensionCompromised LeakedCredentialTimeseriesGroupsV2ParamsDimension = "COMPROMISED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsDimensionBotClass LeakedCredentialTimeseriesGroupsV2ParamsDimension = "BOT_CLASS"` - `query LeakedCredentialTimeseriesGroupsV2Params` - `AggInterval param.Field[LeakedCredentialTimeseriesGroupsV2ParamsAggInterval]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://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 LeakedCredentialTimeseriesGroupsV2ParamsAggInterval15m LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "15m"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1h LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1h"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1d LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1d"` - `const LeakedCredentialTimeseriesGroupsV2ParamsAggInterval1w LeakedCredentialTimeseriesGroupsV2ParamsAggInterval = "1w"` - `ASN param.Field[[]string]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `BotClass param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsBotClass]` Filters results by bot class. Refer to [Bot classes](https://edgetunnel-b2h.pages.dev/radar/concepts/bot-classes/). - `const LeakedCredentialTimeseriesGroupsV2ParamsBotClassLikelyAutomated LeakedCredentialTimeseriesGroupsV2ParamsBotClass = "LIKELY_AUTOMATED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsBotClassLikelyHuman LeakedCredentialTimeseriesGroupsV2ParamsBotClass = "LIKELY_HUMAN"` - `CheckResult param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsCheckResult]` Filters results by leaked credential check result. - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultClean LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "CLEAN"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernameLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_LEAKED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernamePasswordSimilar LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_PASSWORD_SIMILAR"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultUsernameAndPasswordLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "USERNAME_AND_PASSWORD_LEAKED"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCheckResultPasswordLeaked LeakedCredentialTimeseriesGroupsV2ParamsCheckResult = "PASSWORD_LEAKED"` - `Compromised param.Field[[]LeakedCredentialTimeseriesGroupsV2ParamsCompromised]` Filters results by compromised credential status (clean vs. compromised). - `const LeakedCredentialTimeseriesGroupsV2ParamsCompromisedClean LeakedCredentialTimeseriesGroupsV2ParamsCompromised = "CLEAN"` - `const LeakedCredentialTimeseriesGroupsV2ParamsCompromisedCompromised LeakedCredentialTimeseriesGroupsV2ParamsCompromised = "COMPROMISED"` - `Continent param.Field[[]string]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). 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[LeakedCredentialTimeseriesGroupsV2ParamsFormat]` Format in which results will be returned. - `const LeakedCredentialTimeseriesGroupsV2ParamsFormatJson LeakedCredentialTimeseriesGroupsV2ParamsFormat = "JSON"` - `const LeakedCredentialTimeseriesGroupsV2ParamsFormatCsv LeakedCredentialTimeseriesGroupsV2ParamsFormat = "CSV"` - `LimitPerGroup param.Field[int64]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. 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[LeakedCredentialTimeseriesGroupsV2ParamsNormalization]` 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 LeakedCredentialTimeseriesGroupsV2ParamsNormalizationPercentageChange LeakedCredentialTimeseriesGroupsV2ParamsNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupsV2ParamsNormalizationMin0Max LeakedCredentialTimeseriesGroupsV2ParamsNormalization = "MIN0_MAX"` ### Returns - `type LeakedCredentialTimeseriesGroupsV2Response struct{…}` - `Meta LeakedCredentialTimeseriesGroupsV2ResponseMeta` Metadata for the results. - `AggInterval LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://edgetunnel-b2h.pages.dev/radar/concepts/aggregation-intervals/). - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalFifteenMinutes LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneHour LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_HOUR"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneDay LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_DAY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneWeek LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_WEEK"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaAggIntervalOneMonth LeakedCredentialTimeseriesGroupsV2ResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfo` - `Annotations []LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotation` - `DataSource LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAll LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIBots LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBGP LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceBots LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceCT LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNS LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceDos LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFw LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceFwPg LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTP LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceIQI LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceNet LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceSpeed LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeEvent LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeGeneral LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeOutage LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypePipeline LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly LeakedCredentialTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"` - `IsInstantaneous bool` Whether event is a single point in time or a time range. - `LinkedURL string` - `StartDate Time` - `Tags []string` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []LeakedCredentialTimeseriesGroupsV2ResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://edgetunnel-b2h.pages.dev/radar/concepts/normalization/). - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationPercentage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationMin0Max LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "MIN0_MAX"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationMinMax LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "MIN_MAX"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRawValues LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "RAW_VALUES"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationPercentageChange LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRollingAverage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "ROLLING_AVERAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationOverlappedPercentage LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalizationRatio LeakedCredentialTimeseriesGroupsV2ResponseMetaNormalization = "RATIO"` - `Units []LeakedCredentialTimeseriesGroupsV2ResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 LeakedCredentialTimeseriesGroupsV2ResponseSerie0` - `Timestamps []Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Radar.LeakedCredentials.TimeseriesGroupsV2( context.TODO(), radar.LeakedCredentialTimeseriesGroupsV2ParamsDimensionCompromised, radar.LeakedCredentialTimeseriesGroupsV2Params{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z", "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 } ```